如何通过API编程区分BIM 360与ACC/统一项目
如何通过单接口区分Autodesk平台的BIM 360项目与ACC项目类型
更新说明:“统一项目”这一概念是否实际存在尚未可知,但账户管理(Account Admin)->项目(Projects)页面确实存在标注为“Go to unified projects”的按钮,点击后仅跳转至全量项目列表,该情况目前存在疑问。
问题背景
- BIM 360与ACC两类项目的部分API端点互不兼容,必须通过编程方式明确当前操作的项目所属类型,否则会出现接口调用不兼容报错。
- 测试验证:调用接口
https://developer.api.autodesk.com/hq/v1/accounts/:hub_id/projects返回的所有项目字段信息完全一致,无法区分项目类型。 - 已知规则:BIM 360项目的ID以
b.为前缀,但上述接口的返回结果中未体现该标识。 - 初步测试结论:BIM 360专属接口
https://developer.api.autodesk.com/hq/v1/accounts/:account_id/projects仅返回BIM 360类型的项目,返回结果中的项目ID均带有b.前缀。目前可通过同时调用两个接口比对结果实现全量项目的类型区分,但期望找到单接口即可返回准确项目类型信息的更优方案。
解决方案
直接调用项目管理v1版本的聚合查询接口 https://developer.api.autodesk.com/project/v1/hubs/:hub_id/projects,即可一次性拉取全量项目并直接完成类型区分,无需多接口比对:
- 接口返回的每个项目条目下,
data.attributes.extension.type字段为明确的类型标识:- 字段值为
projects:autodesk.bim360:Project时,对应项目为BIM 360类型 - 字段值为
projects:autodesk.core:Project时,对应项目为ACC类型(即页面入口标注的统一项目)
- 字段值为
- 该接口返回的BIM 360项目ID会保留原生的
b.前缀,无需额外做格式转换,可直接传入对应类型的业务接口使用。
补充说明
账户管理页面的“Go to unified projects”按钮是Autodesk整合BIM 360与ACC两套项目体系的过渡功能,跳转的全量项目列表和上述接口返回的项目范围完全一致。
此前测试的hq/v1/accounts/:hub_id/projects属于旧版BIM 360管理接口的兼容适配版本,返回结果会统一抹除项目类型标识与BIM 360项目的ID前缀,不适合作为类型判断的依据。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

