通过 api 阅读传入的 slack webhooks 的信息
Read Information for incoming slack webhooks via api
按照通过 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 将 post 连接到的通道,以及用于配置的 url。
虽然效果很好,但在最初将 'configuration' 存储到我自己的 Web 应用程序后,它可以正确显示。但是在有人使用响应中的 'configuration_url' link 之后,这些以前的值(如通道)可能会过时。例如,可以从此 link 中删除 webhook。
我的问题是:
有没有办法在我的外部应用程序中反映这种变化?据我所知,无法通过外部 Web 应用程序的 api 调用查询 'incoming webhooks' 的信息?
我也找不到任何 api 调用可以在不使用提供的 link 的情况下直接更改 webhook 配置。
创建后无法更改 webhook 配置。唯一可能的变化是卸载了安装 Slack 应用程序(其中包含 webhook)的工作区。
如果发生这种情况,webhook 将不再工作,您将收到错误响应。
您还可以通过侦听 app_uninstalled
事件在卸载应用程序时收到通知。
或者您也可以通过检查您在添加到 Slack 过程中收到的令牌来测试您的应用程序和 Webhook 是否仍然有效。只需使用该标记调用 API 方法 auth.test
。如果它 returns 以下错误比 webhook 不再有效:
{
"ok": false,
"error": "invalid_auth"
}
按照通过 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 将 post 连接到的通道,以及用于配置的 url。
虽然效果很好,但在最初将 'configuration' 存储到我自己的 Web 应用程序后,它可以正确显示。但是在有人使用响应中的 'configuration_url' link 之后,这些以前的值(如通道)可能会过时。例如,可以从此 link 中删除 webhook。
我的问题是: 有没有办法在我的外部应用程序中反映这种变化?据我所知,无法通过外部 Web 应用程序的 api 调用查询 'incoming webhooks' 的信息?
我也找不到任何 api 调用可以在不使用提供的 link 的情况下直接更改 webhook 配置。
创建后无法更改 webhook 配置。唯一可能的变化是卸载了安装 Slack 应用程序(其中包含 webhook)的工作区。
如果发生这种情况,webhook 将不再工作,您将收到错误响应。
您还可以通过侦听 app_uninstalled
事件在卸载应用程序时收到通知。
或者您也可以通过检查您在添加到 Slack 过程中收到的令牌来测试您的应用程序和 Webhook 是否仍然有效。只需使用该标记调用 API 方法 auth.test
。如果它 returns 以下错误比 webhook 不再有效:
{
"ok": false,
"error": "invalid_auth"
}