0

为 BIM360 Team 项目创建 webhook 时,在使用以下 json 正文和请求创建项目 ID 时,我收到错误“拒绝访问您尝试创建挂钩的范围 a.123456789”:

https://developer.api.autodesk.com/webhooks/v1/systems/data/events/dm.version.added/hooks

   {
       "callbackUrl": "http://test.com/callback",
       "scope": {
            "folder": "a.123456789"
         }
    }

如果在 json 中替换了顶级文件夹 URN,这确实会成功。我已经尝试过使用 data:create 范围的 2-legged 和 3-legged OAuth。有什么我想念的吗?

4

2 回答 2

1

我注意到两件事:

  1. 根据json 编码的请求正文中的API 引用文件夹成员应该是由完整 urn 表示的项目或文件夹 id。像这样的东西:urn:adsk.wipprod:fs.folder:a.123456789。在您的示例中,您似乎只发送了文件夹 id 部分。
  2. 您提到您正在使用具有data:create范围的 OAuth 令牌。你也需要data:read范围。

文档对范围有点模棱两可。根据本教程 data:read,所有请求都需要加上data:create创建一个钩子。参考提到data:read+data:write代替。只需确保所有三个都可以,至少在您成功之前。

曼迪评论后更新

好吧,现在我发现我的回答具有误导性。项目没有骨灰盒形式的 id。根据Webhooks Field Guide:“请注意,出于 Webhooks 的目的,项目也由其文件夹 URN标识”。从文档中并不完全清楚,但它可能是项目的根文件夹:data.relationships.rootFolder在 JSON 数据中。

因此,如果您在Data Management Field Guide中检查 Project example object ,则 id 可能在这里:

"rootFolder": {
    "data": {
      "type": "folders",
      "id": "urn:adsk.wipprod:dm.folder:hC6k4hndRWaeIVhIjvHu8w"
    },
于 2018-08-24T00:20:43.820 回答
0

@MandiBishop,添加到@Jadranko 的答案,Webhook API 仅支持文件夹,因此您必须提供文件夹 ID。事实上,文档并不清楚,我已经记录了改进它的请求。对这种混乱感到抱歉。

于 2018-08-24T19:53:12.577 回答