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

如何解决访问Autodesk Data Exchange API时的EXC-002权限错误?

解决Data Exchange API查询Exchange Container时的EXC-002 403错误

核心原因

EXC-002错误提示“Read on the source file is forbidden”,说明即便能访问文件夹,应用也没有读取源Revit文件(或对应Exchange文件)的权限——双腿认证的应用权限不会自动继承文件夹的Everyone设置,必须单独配置到项目或文件层级。

解决方案步骤

1. 确认认证令牌的Scope完整性

获取令牌时,需确保scope包含data:read、bucket:read(Exchange文件存储在OSS桶中,需该权限),若涉及修改操作还需data:write。生成令牌的请求scope参数应为:

scope=data:read data:write bucket:read

注:Server2Server应用需提前在APS控制台配置这些scope权限。

2. 给ACC项目分配应用权限

  • 登录ACC账户,进入对应项目的Settings > Apps & Integrations
  • 找到你的自定义集成应用,为其分配项目管理员或文档管理员角色,至少需拥有文档读取权限
  • 应用作为服务身份,无法继承文件夹的Everyone权限,必须直接配置项目级权限

3. 单独配置源文件与Exchange文件的权限

  • 在ACC Docs中找到源Revit文件,右键选择Permissions
  • 通过应用名称或Client ID搜索你的APS应用,授予View & Download权限
  • 对生成的FDX格式Exchange文件执行同样的权限配置

4. 修正查询参数格式

确保请求中的itemID是Base64编码的URN格式(如urn:adsk.objects:os.object:wip.dm.prod/xxx),而非原始item ID字符串。正确的查询URL格式需用双引号包裹URN:

https://developer.api.autodesk.com/exchange/v1/exchanges?filters=attribute.exchangeFileUrn==\"{encodedUrn}\"

5. 检查Server2Server应用的账户关联

  • 进入APS控制台的My Apps > 应用详情 > Account Associations,确认应用已与ACC账户建立关联
  • 若未关联,发起关联请求并由ACC账户管理员批准

验证流程

完成配置后:

  • 重新生成认证令牌
  • 先调用Docs API验证能否读取源Revit文件详情:GET https://developer.api.autodesk.com/data/v1/projects/{projectId}/items/{itemId}
  • 若读取成功,再重新执行Exchange API的查询请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:05:09