在仔细研究和调查Asana寻求帮助后,我确定这对我来说是一个与SSL相关的问题。代码工作得很好,允许握手发生并设置webhook。我没有意识到的是,虽然我有一个SSL证书我没有设置它。确保为webhook目标所针对的域正确配置SSL。
感谢您的联系!我是Asana的开发者倡导者,我想我知道什么可能给你带来麻烦。 (不用担心,我们在Asana这里非常友好!)
当你创建一个webhook时,你要求Asana做的是 打电话给你 当你感兴趣的东西发生变化时。也就是说,当某些事情发生变化,您已经注册了webhook时,我们的服务器会调用您的服务器让您知道更改已经发生。
这意味着我们的服务器需要与您维护的公共服务器联系。要检查是否是这种情况,在创建webhook时,会出现“握手”过程:
POST
target
200 OK
如果您没有设置此握手,那么来自webhook创建的返回调用将失败并显示您所看到的错误。您可以在此处查看有关此过程的更多技术细节 我们的webhooks API参考页面 。这可能看起来像很多工作或来回设置,但这个过程是为了你而设计的 知道 当你创建一个webhook,无论你是否会得到未来的回调,而不是悲伤,无声的失败 - 我们实际上在你创建webhook时测试你可以。
作为替代方案,如果您不想创建和维护公开可用的服务器,您可能需要查看我们的服务器 事件 API;这些就像webhooks一样,但是当事情发生变化时,你可以调查Asana服务器调用的内容,而不是你期望在特定时间点之后轮询更改(由我们给你的同步令牌表示)。例如,你可以 GET 在特定时间点的任务,也是 GET 来自的任务的同步令牌 /events 端点。在此之后,您可以定期创建 GET 请求在同一资源上 /events 端点并传递该同步令牌,我们将返回自获得该令牌以来已更改的内容(如果有的话)(并在发生这些更改之后传回新的“最新”令牌,供您在将来的调用中使用)。
GET
/events
我希望这有助于让你再次活动!