如何通过Issues API的角色AutodeskId获取ACC中的角色名称?
解决ACC中通过Issues API的用户ID获取角色名称的问题
你遇到的核心问题是混淆了用户ID和角色ID的区别:
- 从你的Issue示例截图可以看到,Issues API的
GET projects/{projectId}/issues返回的assignedTo字段是用户的Autodesk ID(标识具体用户) - 而用户角色示例截图显示,Account Admin API的
GET projects/{projectId}/users返回的用户roles字段是角色的唯一ID(格式与用户ID完全不同,标识用户在项目中的角色)
要获取对应角色名称,需要通过以下两步操作:
获取用户对应的角色ID
调用Account Admin API的GET projects/{projectId}/users接口,传入目标项目ID,在返回的用户列表中找到autodeskId匹配Issues中assignedTo值的用户条目,提取其roles数组中的角色ID(格式通常为urn:adsk.wipprod:fs.role:xxxx)。通过角色ID获取角色名称
调用Project Admin API的GET projects/{projectId}/roles接口,传入目标项目ID,获取项目下所有角色的完整列表。将第一步拿到的角色ID与列表中角色的id字段匹配,对应的name字段就是你需要的角色名称。
关键接口说明
- 获取项目用户列表(含角色ID):
GET https://developer.api.autodesk.com/hq/v1/accounts/{accountId}/projects/{projectId}/users - 获取项目角色列表(含角色名称):
GET https://developer.api.autodesk.com/hq/v1/accounts/{accountId}/projects/{projectId}/roles
注意:调用这些接口需要确保你的Access Token拥有足够权限(如account:read或project:read类的scope),否则会返回权限不足的错误。
内容的提问来源于stack exchange,提问作者Johan Morales
相关产品推荐
相关产品推荐

