关于在ACC/BIM 360中为多份文档设置元数据的技术咨询
BIM 360 自定义属性批量更新API的多文档操作实现机制
该API确实支持一次性给多份文档批量设置或更新自定义属性,核心实现逻辑是通过请求体中的items数组来批量指定目标文档及其对应的属性配置,具体操作方式如下:
1. 构造批量请求体
请求体的核心是items数组,数组中的每个元素对应一份需要更新的文档,每个元素包含两个关键字段:
urn:目标文档的URN(需经过URL编码)attributes:键值对对象,键为自定义属性的ID或名称,值为要设置的属性内容
示例请求体:
{ "items": [ { "urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWwtZGVtb25hdmUtYmltMzYwL01vZGVsLmJpbQ", "attributes": { "ProjectCode": "PROJ-001", "DocumentStatus": "Approved" } }, { "urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWwtZGVtb25hdmUtYmltMzYwL01vZGVsMi5iaW0", "attributes": { "ProjectCode": "PROJ-001", "DocumentStatus": "Draft" } } ] }
2. API调用要求
- 请求的
Content-Type必须设置为application/json - 携带有效的BIM 360 OAuth2令牌,令牌需具备
data:write权限 - 请求URL中的
project_id替换为目标BIM 360项目的ID
3. 响应结果说明
API会返回每个文档的处理状态,响应体同样包含items数组,每个元素对应请求中的文档:
success字段标记该文档是否更新成功- 若更新失败,会附带
error对象,包含错误代码和描述信息
示例响应体:
{ "items": [ { "urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWwtZGVtb25hdmUtYmltMzYwL01vZGVsLmJpbQ", "success": true }, { "urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWwtZGVtb25hdmUtYmltMzYwL01vZGVsMi5iaW0", "success": false, "error": { "code": "INVALID_ATTRIBUTE", "message": "Attribute 'DocumentStatus' does not exist" } } ] }
4. 关键注意事项
- 自定义属性必须是目标项目中已创建的属性定义,该API仅支持更新已有属性的值,无法新增属性
- 每个文档的
attributes可以独立配置,不需要所有文档设置相同的属性 - 单次请求的
items数量建议不超过100个,具体上限以官方当前限制为准
内容的提问来源于stack exchange,提问作者Mandi Bishop
相关产品推荐
相关产品推荐

