问题: 使用API添加新的BIM 360 Docs项目后,如何使用API将其激活以进行文档管理?遵循在线教程无法获得预期的结果。
背景: 我试图按照一个教程创建一个BIM 360 Docs项目并为文档管理激活它,如here所示。项目创建本身很容易,但是激活服务所需的步骤as outlined不起作用。
这是我的个人步骤:
HTTP POST https://{{ForgeURL}}/hq/v1/accounts/{{AccountId}}/projects
在响应中返回创建的项目信息,包括新的项目ID和状态,为待处理。
i。 添加项目管理员-方法1 -文档here列出了能够将项目管理员添加到特定BIM 360项目和服务类型的端点。
HTTP POST https://{{ForgeURL}}/hq/v1/accounts/{{AccountId}}/projects/{{BIM360ProjectId}}/users
{
"role":"project_admin",
"service_type":"doc_manager",
"company_id":"{{BIM360CompanyId}}",
"email":"user@email.com"
}
响应:找不到HTTP 404
{
"code": 1004,
"message": "this project doesn't exist."
}
ii。 添加项目管理员-方法2 -文档here列出了可以将用户(项目管理员和项目用户)添加到项目的端点。
HTTP POST https://{{ForgeURL}}/hq/v2/accounts/{{AccountId}}/projects/{{BIM360ProjectId}}/users/import
[
{
"email": "user@email.com",
"services": {
"document_management": {
"access_level": "admin"
},
"project_administration": {
"access_level": "admin"
}
},
"company_id": "{{BIM360CompanyId}}",
"industry_roles": []
}
]
响应:HTTP 200可以,但是...这是失败
{
"failure": 1,
"success": 0,
"success_items": [],
"failure_items": [
{
"email": "user@email.com",
"services": {
"document_management": {
"access_level": "admin"
},
"project_administration": {
"access_level": "admin"
}
},
"company_id": "716a5472-a69c-4c07-aa0c-9e54e98ff28f",
"industry_roles": [],
"errors": [
{
"message": "Services [\"document_management\"] are not active or pending in project",
"code": 2000
}
],
"project_id": "1b6f2179-8f2f-4fa7-907b-901aee7224be",
"account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
人们可以看到它抱怨服务[\“ document_management \”]在项目中未激活或待处理。 project_administration
必须包含在内,否则如果将任何project_administration
设置为access_level
,它也会抱怨需要服务admin
。
但是,我可以使用BIM 360 Docs Web应用程序“帐户管理员”来查看该项目,尽管显示为无效。
尝试使用HTTP PATCH https://{{ForgeURL}}/hq/v1/accounts/{{AccountId}}/projects/{{BIM360ProjectId}}
返回来激活项目
{
"code": 1001,
"message": "You cannot change the status of a project that has no project admin."
}
iii。 添加项目管理员-方法3 -文档here列出了能够更新项目用户资料的端点,包括用户对该项目(管理员或用户)的访问权限。
HTTP PATCH https://{{ForgeURL}}/hq/v2/accounts/{{AccountId}}/projects/{{BIM360ProjectId}}/users/{{BIM360UserId}}
{
"services": {
"document_management": {
"access_level": "user"
}
},
"company_id": "{{BIM360CompanyId}}"
}
响应:HTTP 200可以,但这是失败
{
"account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"project_id": "1b6f2179-8f2f-4fa7-907b-901aee7224be",
"error": [
{
"message": "User does not exist in project",
"code": 2000
},
{
"message": "Services [\"document_management\"] are not active or pending in project",
"code": 2000
}
]
}
长话短说,我无法使用任何可用方法添加项目管理员。
此外,当我在其中使用 Project Admin \ Services \ Document Management 部分添加项目管理员时,项目状态变为 Active ,我突然可以激活here中概述的服务。
答案 0 :(得分:0)
endpoint documentation的错误信息指向包含有效载荷的
"service_types": "field"
使用可访问所有BIM 360服务的项目信息创建BIM 360项目,这不会发生。必须明确指定服务类型,例如
"service_types": "doc_manager"
如果未指定,则将为所有启用的项目创建项目 帐户中的服务。
这允许使用我的问题中概述的方法1 添加项目管理员。