访问 BIM 360 Design(旧 C4R)上 WHIP 文件夹中的文件

Access files located in the WIP folder of BIM360 Design (old C4R)

我们的一位客户要求我们访问存储在 BIM360 Design(旧 Collaboration for Revit - C4R)。我在 Forge APIs 的开发者页面中找不到任何指向此位置的信息。我假设这样的 API 不是 Forge 的一部分,但我们想知道是否有任何其他 API 可以提供这些文件。 具体要求是:

问题是,如果可能的话,我们如何访问位于 BIM360 Design 云中的项目文件


更新 (10/04/2018)

我们找到了 these commands - 特别是 PublishModelGetPublishModelJob。这确实有些作用,我们至少可以提示按需发布,而不需要 Revit。我不清楚何时 创建了items:autodesk.bim360:C4RModel 伪文件。最重要的是,API 似乎无法接收首选输出文件夹,这使得备份 BIM360 Design 中的信息的预期目的变得非常麻烦。

更新 (25/04/2018)

我们已经尝试使用这两个命令(PublishJobGetPublishModelJob)。我们冒充了项目管理员(通过 x-user-id),但 Forge 返回 401 错误(甚至没有记录)。以下(带有经过编辑的 documentID)是我们尝试过的:

{
    "jsonapi": {
      "version": "1.0"
    },
    "data": {
      "type": "commands",
      "attributes": {
        "extension": {
          "type": "commands:autodesk.bim360:C4RModelGetPublishJob",
          "version": "1.0.0"
      }
    },
    "relationships": {
      "resources": {
        "data": [ { "type": "items", "id": "<document_id>" } ]
      }
    }
  }
}

这是 Forge 的回复:

{
    "jsonapi": {
        "version": "1.0"
    },
    "errors": [
        {
            "id": "a4547153-1fd4-4710-b0d1-a7184d9e7e22",
            "status": "401",
            "code": "C4R",
            "detail": "Failed to get publish model job"
        }
    ]
}

有什么想法吗?

您是否有权访问工作共享的 Revit 文件?发布命令是将云端的工作共享中心模型发布到文档中。要使用它,您需要访问云中央的 Revit 模型。 Forge 发布命令与 Revit 桌面中的发布命令执行相同的操作。您需要相同的访问权限。要使用云工作共享功能,首先您需要获得分配给您的设计许可,然后您还需要成为 Revit 项目的成员。受邀使用 Docs 是不够的。

(由于最近 C4R/Design 被合并到 Docs,这个 C4R 特定许可部分有意保持与以前的许可相同。我们也有早期版本的团队。这让它有点复杂。我希望它以后我们会更容易。)

在Forge帮助频道与@tfrascaroli讨论后,我们发现这个错误的根本原因是x-user-id的值不正确导致的,所以他没有正确的权限推送最新版本将 C4R 模型转换为 BIM360 文档。

{
    "jsonapi": {
        "version": "1.0"
    },
    "errors": [
        {
            "id": "a4547153-1fd4-4710-b0d1-a7184d9e7e22",
            "status": "401",
            "code": "C4R",
            "detail": "Failed to get publish model job"
        }
    ]
}

x-user-id 不是 GUID,也不是我们在 GET users or GET users/:user_id 的响应中看到的 id,它应该是 uid 的值。用 uid 替换 x-user-id 值后,错误不再出现。

[
  {
    "id": "a75e8769-621e-40b6-a524-0cffdd2f784e",  //!<<< We didn't use it for `x-user-id`
    "account_id": "9dbb160e-b904-458b-bc5c-ed184687592d",
    "status": "active",
    "role": "account_admin",
    "company_id": "28e4e819-8ab2-432c-b3fb-3a94b53a91cd",
    "company_name": "Autodesk",
    "last_sign_in": "2016-04-05T07:27:20.858Z",
    "email": "john.smith@mail.com",
    "name": "John Smith",
    "nickname": "Johnny",
    "first_name": "John",
    "last_name": "Smith",
    "uid": "L9EBJKCGCXBB",   //!<<<<< Here is the value for the x-user-id
    "image_url": "http://static-dc.autodesk.net/etc/designs/v201412151200/autodesk/adsk-design/images/autodesk_header_logo_140x23.png",
    "address_line_1": "The Fifth Avenue",
    "address_line_2": "#301",
    "city": "New York",
    "postal_code": "10011",
    "state_or_province": "New York",
    "country": "United States",
    "phone": "(634)329-2353",
    "company": "Autodesk",
    "job_title": "Software Developer",
    "industry": "IT",
    "about_me": "Nothing here",
    "created_at": "2015-06-26T14:47:39.458Z",
    "updated_at": "2016-04-07T07:15:29.261Z"
  }
]