Python调用Autodesk Construction Cloud API获取用户详情遇403禁止错误
解决ACC API获取用户详情403错误的问题
1. 端点是否正确?
你使用的两个端点均为官方支持的合法端点:
construction/admin/v1/projects/{PROJECT_ID}/users/{user_id}:用于获取指定项目下的单个用户详情,端点本身是正确的。hq/v1/accounts/{ACCOUNT_ID}/users:用于获取整个账号下的用户列表,也是合规端点,但权限要求比项目级用户端点更高。
2. 是否需要额外权限或范围?
你的权限范围(account:read、user-profile:read等)已经覆盖了API调用的基本要求,但403错误通常来自以下非范围因素:
- 项目角色限制:应用授权的用户必须具备项目的管理员权限,或至少拥有「查看项目用户列表」的权限,普通项目成员无法访问
construction/admin类端点。 - Token有效性验证:确认你的access token确实包含了所有声明的scope,可以调用
https://developer.api.autodesk.com/userprofile/v1/users/@me验证token的有效权限范围。 - ID正确性检查:确保请求中的
PROJECT_ID、ACCOUNT_ID与获取issues时使用的ID完全一致,ID不匹配也可能触发403错误。
3. ACC问题场景下获取用户信息的其他方法
- 直接从issues响应提取基础信息:获取issues的响应中,
assignedTo、createdBy等字段通常已嵌入用户基础信息(如name、email、userId),无需额外调用用户API。可以先打印字段结构确认:for issue in issues: print("Assigned user info from issue:", issue['assignedTo']) - 批量查询项目用户列表:如果需要批量获取用户详情,可调用
construction/admin/v1/projects/{PROJECT_ID}/users端点(不带用户ID)获取项目所有用户列表,再在本地匹配userId,既减少API调用次数,也可能规避单个用户查询的权限问题。
内容的提问来源于stack exchange,提问作者Eric Boehlke
相关产品推荐
相关产品推荐

