autodesk-forge - API 从 BIM360 Doc Plans 文件夹下载文件
问题描述
我正在尝试使用 Forge API 从 Autodesk BIM360 Doc ( https://docs.b360.autodesk.com ) 下载文件,以便随后将文件归档到我们的本地存储中。
我已设法使用数据管理 API https://forge.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-versions-version_id-GET/从“项目文件”文件夹下载任何文件,我可以通过它获取data.relationships.storage.data.id下的存储 ID 。
但是,使用相同的 API 在“Plan”文件夹下查询文件时,我无法获取存储 ID ,
那么 Forge API 有什么方法可以让我们从 Plan 文件夹中下载文件吗?任何帮助表示赞赏。
解决方案
Plan文件夹中列出的item是一个类型,这个类型item在GET versions/:version_id和GET items/:item_iditems:autodesk.bim360:Document
的响应中不会直接显示存储属性。
要获取物理文件位置,您应该调用GET versions/:version_id/relationships/refs,请参阅此处以获取类似线程:使用 Autodesk API 下载文档
复制项目的更新
通过GET versions/:version_id/relationships/refs访问复制项目版本的关系数据时,您会看到一个数据属性,根据我的经验告诉复制项目与源项目之间的关系:
"data": [
{
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.34Xvlw1jTcSQ_XkIVh07cg?version=2",
"meta": {
"refType": "derived",
"fromId": "urn:adsk.wipprod:fs.file:vf.34Xvlw1jTcSQ_XkIVh07cg?version=2",
"fromType": "versions",
"toId": "urn:adsk.wipprod:fs.file:vf.y3L7YbfAQJWwumMgqjJUxg?version=1",
"toType": "versions",
"direction": "to",
"extension": {
"type": "derived:autodesk.bim360:CopyDocument",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/derived:autodesk.bim360:CopyDocument-1.0"
},
"data": {}
}
}
}
],
fromId
之后,您必须通过调用GET versions/:version_id/relationships/refs来访问版本关系数据。
在这种情况下,它是{PROJ_ID}/versions/urn:adsk.wipprod:fs.file:vf.34Xvlw1jTcSQ_XkIVh07cg%3Fversion=2/relationships/refs
,那么您将storage
在我的调查中看到响应中的属性。
推荐阅读
- sharepoint-2013 - 如何在 excel 中创建自定义文档属性,以便可以使用 SharePoint 工作流自动填充
- python-3.x - 当键是字节时,从python中的字典创建数据框?
- python - 重新分配变量时不会发生 Python 列表突变。为什么?
- java - 如何将程序参数传递给 Spring Boot 命令行应用程序?
- javascript - 有没有办法从 mongo 文档中只提取几个字段而不先获取所有字段
- ubuntu - cargo +nightly 错误:没有这样的子命令
- javascript - 过滤数组以根据javascript中的条件删除重复值
- postgresql - 在 Postgres 中查找会话登录和注销以及 pg_audit 的审计日志的 SQL 查询
- botframework - 如何将 Dynamics 365 Virtual Agent 主题和触发短语转换为意图和话语到 LU 文件格式
- php - WooCommerce - 覆盖 ajax 添加到购物车不起作用