伪造 - 获取项目路径以及 BIM360 文档中的自定义属性
Forge-Get Item Path along with custom attributes in BIM360 document
需要两个要求:
- 在BIM360文档管理中获取文档的项路径。
- 获取该项目的所有自定义属性。
对于要求。 1,存在一个 api 来获取和获取自定义属性,另一个 api 存在并且可以检索数据。
有没有办法在单个 api 调用中同时满足这两个要求,而不是使用两个。
在大量记录的情况下,api 检索项目路径需要一个多小时来获取 19000 多条记录,并且尽管使用刷新令牌,令牌也会过期,而自定义属性 api 会批量处理数据50,仅需 5 分钟即可完成。
请提出建议。
- 在BIM360文档管理中获取文档的项路径。
这个问题是关于获取项目的层次结构的吗?例如根文件夹>>子文件夹>>项目?对于端点,通过指定查询参数 includePathInProject=true,它将 return 文件夹结构中项目 (pathInProject) 的相对路径。
https://forge.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-items-item_id-GET/
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:xxx",
"attributes": {
"displayName": "my-issue-att.png",
"createTime": "2021-03-12T04:51:01.0000000Z",
"createUserId": "xxx",
"createUserName": "Xiaodong Liang",
"lastModifiedTime": "2021-03-12T04:51:02.0000000Z",
"lastModifiedUserId": "200902260532621",
"lastModifiedUserName": "Xiaodong Liang",
"hidden": false,
"reserved": false,
"extension": {
"type": "items:autodesk.bim360:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.bim360:File-1.0"
},
"data": {
"sourceFileName": "my-issue-att.png"
}
},
"pathInProject": "/Project Files"
}
或者如果您可以通过父项的数据进行迭代
"parent": {
"data": {
"type": "folders",
"id": "urn:adsk.wipprod:fs.folder:co.sdfedf8wef"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/b.project.id.xyz/items/urn:adsk.wipprod:dm.lineage:hC6k4hndRWaeIVhIjvHu8w/parent"
}
}
},
- 获取该项目的所有自定义属性。对于要求。 1,存在一个 api 来获取和获取自定义属性,另一个 api 存在并且可以检索数据。有没有办法在单个 api 调用中同时满足这两个要求,而不是使用两个。在大量记录的情况下,api 检索项目路径需要一个多小时来获取 19000 多条记录,并且尽管使用了刷新令牌,令牌也会过期,而自定义属性 api 会批量处理数据50,仅需 5 分钟即可完成。请建议。*
让我试着更好地理解这个问题。首先,有两件事:自定义属性定义和自定义属性值(带有文档)。你能澄清一下他们有 19000 多条记录吗?
如果自定义属性定义,API 获取它们是
https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-custom-attribute-definitions-GET/
它支持设置每次调用的限制。即一次调用的最大限制是 200,这意味着你可以通过 95 次获取 19000+ 条记录,而每次调用应该很快(以我的经验 < 10 秒)。总共大约 15 分钟,而不是 1 个多小时..
或者在你这边,每次调用200条记录会花很多时间?
如果自定义属性值,API 获取它们是
https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-versionsbatch-get-POST/
如您所知,每次 50 条记录。似乎只有在获取 19000 多条记录的值时,您这边才 5 分钟就很快了?
Batch-Get Custom Attributes是针对Document Management特定的附加属性。而项目中的路径是数据管理的一般信息。
数据管理API以命令的形式提供了一些端点,可以要求后端处理一堆项目的数据。
https://forge.autodesk.com/en/docs/data/v2/reference/http/ListItems/
此命令一次最多可以检索 50 个指定项目的元数据。它还支持标志 includePathInProject,但用法很棘手,API 文档没有说明。在响应中,它将告诉这些项目的 pathInProject。它可能比迭代更节省时间。
{
"jsonapi": {
"version": "1.0"
},
"data": {
"type": "commands",
"attributes": {
"extension": {
"type": "commands:autodesk.core:ListItems",
"version": "1.0.0" ,
"data":{
"includePathInProject":true
}
}
},
"relationships": {
"resources": {
"data": [
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:vkLfPabPTealtEYoXU6m7w"
},
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:bcg7gqZ6RfG4BoipBe3VEQ"
}
]
}
}
}
}
需要两个要求:
- 在BIM360文档管理中获取文档的项路径。
- 获取该项目的所有自定义属性。 对于要求。 1,存在一个 api 来获取和获取自定义属性,另一个 api 存在并且可以检索数据。 有没有办法在单个 api 调用中同时满足这两个要求,而不是使用两个。 在大量记录的情况下,api 检索项目路径需要一个多小时来获取 19000 多条记录,并且尽管使用刷新令牌,令牌也会过期,而自定义属性 api 会批量处理数据50,仅需 5 分钟即可完成。 请提出建议。
- 在BIM360文档管理中获取文档的项路径。
这个问题是关于获取项目的层次结构的吗?例如根文件夹>>子文件夹>>项目?对于端点,通过指定查询参数 includePathInProject=true,它将 return 文件夹结构中项目 (pathInProject) 的相对路径。 https://forge.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-items-item_id-GET/
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:xxx",
"attributes": {
"displayName": "my-issue-att.png",
"createTime": "2021-03-12T04:51:01.0000000Z",
"createUserId": "xxx",
"createUserName": "Xiaodong Liang",
"lastModifiedTime": "2021-03-12T04:51:02.0000000Z",
"lastModifiedUserId": "200902260532621",
"lastModifiedUserName": "Xiaodong Liang",
"hidden": false,
"reserved": false,
"extension": {
"type": "items:autodesk.bim360:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.bim360:File-1.0"
},
"data": {
"sourceFileName": "my-issue-att.png"
}
},
"pathInProject": "/Project Files"
}
或者如果您可以通过父项的数据进行迭代
"parent": {
"data": {
"type": "folders",
"id": "urn:adsk.wipprod:fs.folder:co.sdfedf8wef"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/b.project.id.xyz/items/urn:adsk.wipprod:dm.lineage:hC6k4hndRWaeIVhIjvHu8w/parent"
}
}
},
- 获取该项目的所有自定义属性。对于要求。 1,存在一个 api 来获取和获取自定义属性,另一个 api 存在并且可以检索数据。有没有办法在单个 api 调用中同时满足这两个要求,而不是使用两个。在大量记录的情况下,api 检索项目路径需要一个多小时来获取 19000 多条记录,并且尽管使用了刷新令牌,令牌也会过期,而自定义属性 api 会批量处理数据50,仅需 5 分钟即可完成。请建议。*
让我试着更好地理解这个问题。首先,有两件事:自定义属性定义和自定义属性值(带有文档)。你能澄清一下他们有 19000 多条记录吗?
如果自定义属性定义,API 获取它们是 https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-custom-attribute-definitions-GET/ 它支持设置每次调用的限制。即一次调用的最大限制是 200,这意味着你可以通过 95 次获取 19000+ 条记录,而每次调用应该很快(以我的经验 < 10 秒)。总共大约 15 分钟,而不是 1 个多小时.. 或者在你这边,每次调用200条记录会花很多时间?
如果自定义属性值,API 获取它们是 https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-versionsbatch-get-POST/ 如您所知,每次 50 条记录。似乎只有在获取 19000 多条记录的值时,您这边才 5 分钟就很快了?
Batch-Get Custom Attributes是针对Document Management特定的附加属性。而项目中的路径是数据管理的一般信息。
数据管理API以命令的形式提供了一些端点,可以要求后端处理一堆项目的数据。 https://forge.autodesk.com/en/docs/data/v2/reference/http/ListItems/
此命令一次最多可以检索 50 个指定项目的元数据。它还支持标志 includePathInProject,但用法很棘手,API 文档没有说明。在响应中,它将告诉这些项目的 pathInProject。它可能比迭代更节省时间。
{
"jsonapi": {
"version": "1.0"
},
"data": {
"type": "commands",
"attributes": {
"extension": {
"type": "commands:autodesk.core:ListItems",
"version": "1.0.0" ,
"data":{
"includePathInProject":true
}
}
},
"relationships": {
"resources": {
"data": [
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:vkLfPabPTealtEYoXU6m7w"
},
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:bcg7gqZ6RfG4BoipBe3VEQ"
}
]
}
}
}
}