按照通过add to slack button创建传入的Webhooks的步骤进行操作。最终响应将如下所示:
{
"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。
虽然效果很好,但最初将“配置”存储到我自己的Web应用程序后,它可以正确显示。但是在某人使用响应中的“ configuration_url”链接后,这些先前的值(如通道)可能会过时。例如,可以从此链接中删除Webhook。
我的问题是: 有没有办法在我的外部应用程序中反映出这种变化?据我所知,没有办法通过来自外部Web应用程序的api调用来查询“传入的Webhooks”信息?
在不使用提供的链接的情况下,我也找不到任何可以直接更改webhook配置的api调用。
答案 0 :(得分:1)
创建后无法更改Webhook配置。唯一可能的变化是,已卸载安装了Slack应用程序(包含webhook)的工作区。
如果发生这种情况,网络挂钩将不再起作用,并且您将在响应中收到错误消息。
当您卸载应用后,您还可以通过听app_uninstalled
事件来得到通知。
或者,您也可以通过检查在添加到Slack过程中收到的令牌来测试您的应用和网络挂钩是否仍然有效。只需使用该令牌调用API方法auth.test
。如果返回以下错误,则说明Webhook不再有效:
{
"ok": false,
"error": "invalid_auth"
}