按照通过add to slack button创建传入webhook的步骤。最终的回复将如下所示:
{
"access_token": "xoxp-XXXXXXXX-XXXXXXXX-XXXXX",
"scope": "incoming-webhook,commands,bot",
"team_name": "Team Installing Your Hook",
"team_id": "XXXXXXXXXX",
"incoming_webhook": {
"url": "https://hooks.slack.com/TXXXXX/BXXXXX/XXXXXXXXXX",
"channel": "#channel-it-will-post-to",
"configuration_url": "https://teamname.slack.com/services/BXXXXX"
},
....
}
这提供了对team_name的访问,webhook将发布到的频道以及用于配置的URL。
虽然这很有效,但在最初将“配置”存储到我自己的webapp后,它会正确显示。但是,当某人使用响应中的“configuration_url”链接后,这些先前的值(如频道)可能会过时。例如,可以从此链接中删除webhook。
我的问题是:有没有办法在我的外部应用程序中反映这些变化?据我所知,无法通过外部Web应用程序的api调用查询“传入webhooks”的信息?
我也找不到任何可以在不使用提供的链接的情况下直接更改webhook配置的api调用。
创建后无法更改webhook配置。唯一可能的更改是卸载了安装Slack应用程序(包含webhook)的工作区。
如果发生这种情况,webhook将不再有效,您将收到错误回复。
通过收听app_uninstalled
事件,您还可以在卸载应用程序时收到通知。
或者,您还可以通过检查在“添加到松弛”过程中收到的令牌来测试您的应用和webhook是否仍然有效。只需使用该令牌调用API方法auth.test
即可。如果它返回以下错误,则webhook不再有效:
{
"ok": false,
"error": "invalid_auth"
}