0

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

  • 不断监视位于那里的文件的更改。
  • 发生更改时,检索所有这些文件并将其备份到本地计算机。

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


更新 (2018 年 10 月 4 日)

我们已经找到了这些命令- 特别是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"
        }
    ]
}

有什么想法吗?

4

2 回答 2

1

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

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

于 2018-10-26T20:50:37.437 回答
1

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

{
    "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 usersGET users/:user_idid的响应中看到的,它应该是. 用 替换值后,错误不再出现。uidx-user-iduid

[
  {
    "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"
  }
]
于 2018-10-28T06:35:37.867 回答