You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ArcGIS REST API添加Web Map遇403权限错误求助

解决ArcGIS REST API添加Web Map时的403权限错误(GWM_0003)

刚碰到过类似的问题,这个403报错(GWM_0003)本质是请求的身份或权限不满足创建Web Map的要求,咱们一步步排查:

1. 先确认Token的核心权限和有效性

  • 你获取Token时,必须在scope参数里包含item:create——这是创建新内容的基础权限,要是没加这个,哪怕Token是有效的,也会被拒绝。
  • 另外要验证Token的归属:确保Token是你要添加项的那个用户的,不能用管理员Token却填了普通用户的username(除非你明确加了owner参数且有管理员权限)。
  • 可以用/sharing/rest/oauth2/tokeninfo接口(GET请求,把Token放在token参数里),查看返回的scopes列表里有没有item:create,以及username是不是目标用户。

2. 核对请求URL和参数的正确性

  • 你的POST请求URL应该是https://<你的门户域名>/sharing/rest/users/{目标用户名}/items,别把{目标用户名}填错了,比如填成了群组名或者其他用户。
  • 请求体的JSON要确保必填项都正确:
    • type必须严格写Web Map(大小写不能错)
    • text字段要符合Web Map的JSON结构(可以先在ArcGIS里导出一个Web Map的JSON来参考格式)
    • Postman里要选Body > raw > JSON格式,别选错成了form-data或者其他格式
  • 别忘了在请求头里加Authorization: Bearer <你的Token>,很多人会漏这个!

3. 检查用户的内容配额和角色权限

  • 登录ArcGIS门户,查看目标用户的存储配额:要是配额已经用完了,也会触发类似的权限报错,这时候得清理旧内容或者申请扩容。
  • 确认用户的角色:比如有些自定义角色可能被限制了创建Web Map的权限,得确保角色允许创建Web Map类型的内容。

4. 环境安全设置排查(针对ArcGIS Enterprise)

  • 如果你用的是私有部署的ArcGIS Enterprise,要检查门户的安全策略:有没有限制API访问的IP白名单?有没有禁用REST API创建内容的功能?
  • 如果是用注册的应用程序获取的Token,要确保应用程序已经被授权了item:create的权限,并且用户已经同意了应用的授权请求。

附一个正确的请求示例(Postman里的配置)

请求URL:
https://your-portal-domain/sharing/rest/users/your-username/items

请求头:
Content-Type: application/json
Authorization: Bearer your-token-string

请求体(JSON):

{
  "type": "Web Map",
  "title": "我的测试Web地图",
  "tags": "测试, WebMap",
  "snippet": "通过REST API创建的测试地图",
  "text": "{\"map\":{\"basemap\":{\"baseMapLayers\":[{\"id\":\"defaultBasemap\",\"url\":\"https://services.arcgis.com/5T5nSi527N4F7luB/arcgis/rest/services/World_Topo_Map/MapServer\"}]},\"version\":\"2.0\"}}"
}

先从Token的权限和归属查起,这是最容易踩坑的地方,要是这些都没问题,再去核对配额和角色权限,应该能解决这个问题。

内容的提问来源于stack exchange,提问作者piptin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:21:48