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

DA4R调用APS API打开ACC文件遇权限异常:用户B授权失败排查

问题

我开发了一款Web应用,支持用户通过APS API提交Revit设计自动化(DA4R)工作项。自动化流程通过以下代码从Autodesk Construction Cloud(ACC)打开文件:

ModelPath cloudModelPath = ModelPathUtils.ConvertCloudGUIDsToCloudPath(ModelPathUtils.CloudRegionUS, ProjectGuid, ModelGuid);

OpenOptions openOptions = new OpenOptions();
openOptions.AllowOpeningLocalByWrongUser = true;
openOptions.Audit = false;
openOptions.IgnoreExtensibleStorageSchemaConflict = true;

Document doc = rvtApp.OpenDocumentFile(cloudModelPath, openOptions);

测试发现,用户A(本人)可正常运行,但用户B使用相同模型(相同Project GUID和Model GUID)时失败,报错信息为:

Autodesk.Revit.Exceptions.RevitServerUnauthorizedException: You are unauthorized to access this hub/project or the hub/project doesn't exist. Detail is One or more errors occurred.
    at Autodesk.Revit.DB.ModelPathUtils.ConvertCloudGUIDsToCloudPath(String region, Guid projectGuid, Guid modelGuid)

已确认用户B拥有对应Hub和项目访问权限,可在ACC中选择文件并获取正确GUID,排除Hub/项目不存在问题。当前运行的是Revit 2022核心引擎,排除授权问题,请问除Hub/项目访问权限外,DA4R用户还需哪些权限以避免该异常?

解决方案

除了Hub和项目级别的访问权限外,还需要检查以下几类权限和配置:

  • 文件级别的直接访问权限:确认用户B在ACC中拥有该具体Revit模型文件的查看或编辑权限。项目权限不自动覆盖所有文件权限,若该模型被单独设置了权限限制,用户B将无法通过DA4R访问。

  • APS OAuth令牌的权限范围:用户B提交DA4R工作项时使用的OAuth令牌,必须包含以下核心权限范围:

    • data:read:用于读取ACC中的文件数据
    • account:read:用于验证Hub和项目的访问权限
    • project:read:用于获取项目内的资源信息
      确保令牌的受众(Audience)设置为https://developer.api.autodesk.com,且未过期。
  • DA4R应用的访问权限:检查APS平台上的DA4R应用配置,确认用户B被添加到应用的授权访问列表中(若应用设置为私有)。只有被授权的用户才能通过该应用提交并执行DA4R工作项。

  • 云工作共享模型的协作权限:若该Revit模型是工作共享云模型,需确认用户B被添加为该模型的协作成员,拥有打开模型的权限。工作共享模型的权限独立于项目权限,需单独配置。

  • Revit设计自动化的引擎权限:确保用户B的账号被授权使用Revit 2022的设计自动化引擎。部分企业环境中,可能会限制特定用户使用特定版本的DA4R引擎。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:58:24