使用ACC API访问ACC Hubs遇403权限问题,请求协助排查
ACC API获取项目信息时403权限问题的解决方法
问题描述
我正尝试通过ACC API获取ACC项目信息,已创建Server-to-Server应用并使用Postman测试开发。成功通过/authentication/v2/token端点获取2-Legged访问令牌,但将令牌放入/project/v1/hubs端点的授权头时,响应data字段为空,且收到两条权限警告,响应内容如下:
{ "jsonapi": { "version": "1.0" }, "links": { "self": { "href": "https://developer.api.autodesk.com/project/v1/hubs" } }, "data": [], "meta": { "warnings": [ { "Id": null, "HttpStatusCode": "403", "ErrorCode": "BIM360DM_ERROR", "Title": "Unable to get hubs from BIM360DM US.", "Detail": "You don't have permission to access this API", "AboutLink": null, "Source": null, "meta": null }, { "Id": null, "HttpStatusCode": "403", "ErrorCode": "BIM360DM_ERROR", "Title": "Unable to get hubs from BIM360DM EMEA.", "Detail": "You don't have permission to access this API", "AboutLink": null, "Source": null, "meta": null } ] } }
我拥有账号内ACC项目的管理员权限,且应用已勾选所有可用API,请问还需进行哪些操作才能获取有权限访问的项目?
解决步骤
关联应用到ACC账户
仅创建Server-to-Server应用不够,需进入ACC账户管理界面,在「集成」板块添加你的应用,完成应用与ACC账户的绑定。验证令牌权限范围
获取2-Legged令牌时,确保请求的scope参数包含data:read和account:read等必要权限。比如请求参数需包含scope=data:read account:read,缺少对应权限会直接导致API访问被拒。为应用分配项目权限
进入目标ACC项目的「设置-集成」页面,将你的Server-to-Server应用添加到项目可用集成列表,并确认开启了项目数据读取相关权限。检查区域端点适配
如果你的ACC项目位于特定区域,可尝试使用对应区域的API端点测试。比如EMEA区域的端点为https://developer.api.autodesk.com/region/eu/project/v1/hubs,避免跨区域访问导致的权限验证问题。
内容的提问来源于stack exchange,提问作者Fruity Fritz
相关产品推荐
相关产品推荐

