体式阿布卡斯 API

Asana Webhooks API

所以我已经按照他们的文档中的描述实施了 Asana Webhooks API。我可以向它传递一个项目 ID 并请求创建一个新的 webhook。 API 成功向我的应用程序发送身份验证请求,其中 returns 安全性 header 如文档中所述。然后 Asana returns 预期的成功响应,概述新创建的 Webhooks 唯一 ID。

现在,如果我获取此 ID,然后查询 Asana API 以直接向我显示 parent 工作区或项目资源上所有配置的 webhook,它 returns 一个空数据JSON Object 或报告资源不存在,这表明我刚刚创建的 Webhook 并未实际创建,尽管给出了预期的成功响应。

此外,如果我随后对项目进行更改,它不会触发 webhook,我的应用程序也不会收到任何事件。

奇怪的是周五一切正常,但今天(周一)我遇到了这些问题。

任何指示都会很好,我一直按照文档建议的方式工作,并使用 PAT 进行身份验证,我什至尝试了一个新创建的令牌。

谢谢,

我们的 webhook 使用握手机制来确保可以给您回电,但后续请求始终有可能失败。此外(虽然我们没有很好地记录这一点——我们有机会)我们应该在握手后立即尝试传递一个(可能)空事件(它看起来像 {"events":[]}。这有点像 "second callback",其中包含自您创建 webhook 以来发生的所有更改。

如果失败 - 或者如果任何后续请求经常失败 - webhook 将被丢弃。 "Failure" 在此上下文中表示 returns 除 200 或 204 之外的 HTTP 响应代码。

至于为什么您在查询 webhook 本身时遇到问题,我无法重现该问题,因此我们必须深入探讨。如果您:

应该没问题
  • 指定工作区
  • 可选择指定资源

我对此进行了测试,似乎还不错。您可能还想使用 /webhooks/:id 端点通过 id 直接查询 webhook - 注意使用 create 返回的 webhook 的 id,而不是 id在 resource 字段中。

如果您创建了 webhook(具体来说,您的 PAT 或 OAuth 应用程序是发出创建请求的应用程序),您应该可以很好地看到信息。如果您可以通过 ID 获取 webhook,您应该会看到 last_failure_atlast_failure_content 字段,它们会告诉您为什么 webhook 无法进行交付。

最后,如果您想通过 api-support@asana.com 联系我们并让他们知道更多详细信息(例如,您要查看的网络挂钩的 ID),我们可以查看这些字段我们这边看看能不能确定是怎么回事。