1

问题: 使用 API 添加新的 BIM 360 Docs 项目后,如何使用 API 将其激活以进行文档管理?遵循在线教程不会产生预期的结果。

背景: 我正在尝试按照教程创建一个 BIM 360 Docs 项目并为文档管理激活它,因为它在此处列出。项目创建本身是轻而易举的,但是激活服务所需的步骤并不像概述的那样工作。

以下是我的个人步骤:

  1. 创建BIM 360 项目HTTP POST https://{{ForgeURL}}/hq/v1/accounts/{{AccountId}}/projects

响应中返回创建的项目信息,包括新的项目 id 和状态,为pending

  1. 尝试添加项目管理员并激活此处概述的服务

一世。添加项目管理员 - 方法 1 -此处的文档列出了能够将项目管理员添加到特定 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 -此处的文档列出了能够将用户(项目管理员和项目用户)添加到项目的端点。

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 OK,但是……失败了

{
    "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"
        }
    ]
}

可以看到它抱怨Services [\"document_management\"] is not active or pending in project必须包括在内,否则如果任何设置为project_administration,它也会抱怨所需的服务project_administrationaccess_leveladmin

但是,我可以看到使用 BIM 360 Docs Web 应用程序 Account Admin 的项目虽然为Inactive

尝试使用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 -此处的文档列出了能够更新项目用户配置文件的端点,包括用户对项目的访问级别(管理员或用户)

HTTP PATCH https://{{ForgeURL}}/hq/v2/accounts/{{AccountId}}/projects/{{BIM360ProjectId}}/users/{{BIM360UserId}}

 {
   "services": {
     "document_management": {
       "access_level": "user"
     }
   },
   "company_id": "{{BIM360CompanyId}}"
 }

响应:HTTP 200 OK,但是失败了

{
    "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部分添加项目管理员时,项目状态变为活动状态,我突然能够激活此处概述的服务。

4

1 回答 1

1

端点文档包含指向有效载荷的不正确信息

"service_types": "field"

使用可访问且可用于所有 BIM 360 服务的项目信息创建 BIM 360 项目,但事实并非如此。必须明确指定服务类型,例如

"service_types": "doc_manager"

或根据本文档

如果没有指定,将为帐户中所有启用的服务创建项目。

这允许使用我的问题中概述的方法 1添加项目管理员。

于 2018-08-09T09:24:01.840 回答