已认证用户可调用ArcGIS REST API的applyEdits更新Feature Layer吗?
解决方法
1 调整Feature Layer基础配置
- 进入ArcGIS要素图层管理后台,先将图层共享范围设置为公开可见,满足所有人可查看的需求
- 找到图层能力(Capabilities)配置项,仅保留
Query公开能力,不要勾选Create、Update、Delete的公开权限,确保未授权用户无法直接调用编辑接口
2 配置API Key专属编辑权限
- 进入ArcGIS开发者控制台的API Key管理页面,找到你代码中使用的API Key
- 为该API Key单独绑定对应Feature Layer的编辑权限,开通Create、Update、Delete操作权限,只有携带这个API Key的请求才会被允许调用编辑接口
3 验证与运行
你现有的Node.js代码不需要做任何修改,完成上述配置后直接运行node example.js即可正常调用编辑接口。你可以通过两组测试确认配置符合要求:
- 不带身份认证直接调用
applyEdits接口,会返回权限报错,说明未授权用户无法编辑 - 携带你的API Key调用接口,会正常返回编辑成功结果
你之前遇到的矛盾问题本质是:直接在图层全局配置里开编辑能力是给所有用户开放权限,而API Key的专属权限不需要开启全局编辑能力,只要给对应Key单独授权即可,两者互不冲突。
内容的提问来源于stack exchange,提问作者arielhasidim
相关产品推荐
相关产品推荐

