Forge Model Derivative 尝试通过 externalId 获取对象属性失败但适用于 objectID
Forge Model Derivative Trying to get object properties by externalId fails but works with objectID
使用此模型导数 endpoint we want to retrieve the properties of an object by calling it with its externalId. We follow the procedure explainined here。
端点使用 objectid,在本例中为 3:
"data": {
"type": "properties",
"collection": [
{
"objectid": 3,
"name": "Finished Ceiling Height",
"externalId": "5d365ed4-cccc-4589-b4e1-a8c5c744672a-0046dd63",
"properties": {
"General": {
"Override": ""
},
"Extents": {
"Scope Box": "None"
},
"Constraints": {
"Elevation": "8.667 ft-and-fractional-in",
"Story Above": "Default"
},
"Dimensions": {
"Computation Height": "3.000 ft-and-fractional-in"
},
"Identity Data": {
"Name": "Finished Ceiling Height",
"Structural": "No",
"Building Story": "Yes",
"Asset ID": "",
"Asset Location": "",
"Asset Category": "",
"Workset": "Shared Views, Levels, Grids",
"Edited by": ""
}
}
}
]
}
}
文档指出我们也可以使用 externalId 来获得相同的结果。
The objectid of an object can change if the design is translated to SVF or SVF2 again. If you require a persistent ID to reference an object, use externalId.
但是将 objectid=3 更改为 objectid=5d365ed4-cccc-4589-b4e1-a8c5c744672a-0046dd63 returns 一个错误 400:
{
"diagnostic": "Invalid 'objectid' parameter"
}
我们还尝试将GUID转换为base64,使用externalid代替objectid作为参数名。一切都具有相同的结果。
有什么想法吗?我们是否误解了文档?
注意: 目前无法访问查看器,也无法下载 sqlite/json 文件
[编辑 1]
我们尝试将查询参数设置为 externalId/externalid 收到相同的结果。
curl --location --request GET 'https://developer.api.autodesk.com/modelderivative/v2/designdata/urn/metadata/guid/properties?externalId=43f2c4e0-d09b-4151-a349-1b6f684411c6-004c8717' \
--header 'x-ads-force: true' \
--header 'x-ads-derivative-format: fallback' \
--header 'Authorization: Bearer XXXXXXX
objectId 参数只接受数值。从 API 响应可以看出,objectId 是一个数值。不幸的是,您不能将字符串传递给此参数。
不过,我们的工程团队正在开发支持更多过滤器的新 属性 API。您可能对 https://www.autodesk.com/autodesk-university/class/Forge-Road-Map-2021 20 分钟后提到的新 属性 元数据 API 感兴趣。
使用此模型导数 endpoint we want to retrieve the properties of an object by calling it with its externalId. We follow the procedure explainined here。
端点使用 objectid,在本例中为 3:
"data": {
"type": "properties",
"collection": [
{
"objectid": 3,
"name": "Finished Ceiling Height",
"externalId": "5d365ed4-cccc-4589-b4e1-a8c5c744672a-0046dd63",
"properties": {
"General": {
"Override": ""
},
"Extents": {
"Scope Box": "None"
},
"Constraints": {
"Elevation": "8.667 ft-and-fractional-in",
"Story Above": "Default"
},
"Dimensions": {
"Computation Height": "3.000 ft-and-fractional-in"
},
"Identity Data": {
"Name": "Finished Ceiling Height",
"Structural": "No",
"Building Story": "Yes",
"Asset ID": "",
"Asset Location": "",
"Asset Category": "",
"Workset": "Shared Views, Levels, Grids",
"Edited by": ""
}
}
}
]
}
}
文档指出我们也可以使用 externalId 来获得相同的结果。
The objectid of an object can change if the design is translated to SVF or SVF2 again. If you require a persistent ID to reference an object, use externalId.
但是将 objectid=3 更改为 objectid=5d365ed4-cccc-4589-b4e1-a8c5c744672a-0046dd63 returns 一个错误 400:
{
"diagnostic": "Invalid 'objectid' parameter"
}
我们还尝试将GUID转换为base64,使用externalid代替objectid作为参数名。一切都具有相同的结果。
有什么想法吗?我们是否误解了文档?
注意: 目前无法访问查看器,也无法下载 sqlite/json 文件
[编辑 1] 我们尝试将查询参数设置为 externalId/externalid 收到相同的结果。
curl --location --request GET 'https://developer.api.autodesk.com/modelderivative/v2/designdata/urn/metadata/guid/properties?externalId=43f2c4e0-d09b-4151-a349-1b6f684411c6-004c8717' \
--header 'x-ads-force: true' \
--header 'x-ads-derivative-format: fallback' \
--header 'Authorization: Bearer XXXXXXX
objectId 参数只接受数值。从 API 响应可以看出,objectId 是一个数值。不幸的是,您不能将字符串传递给此参数。
不过,我们的工程团队正在开发支持更多过滤器的新 属性 API。您可能对 https://www.autodesk.com/autodesk-university/class/Forge-Road-Map-2021 20 分钟后提到的新 属性 元数据 API 感兴趣。