slack - 通过 api 读取传入 slack webhook 的信息
问题描述
按照通过添加到松弛按钮创建传入 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 的访问权限。
虽然这很好用,并且在最初将“配置”存储到我自己的 web 应用程序之后,它会正确显示。但是在有人使用响应中的“configuration_url”链接后,这些先前的值(如通道)可能会过时。例如,可以从此链接中删除 webhook。
我的问题是:有没有办法在我的外部应用程序中反映这种变化?据我所知,无法通过来自外部 Web 应用程序的 api 调用查询“传入 webhook”的信息?
我也找不到任何可以在不使用提供的链接的情况下直接更改 webhook 配置的 api 调用。
解决方案
创建后无法更改 webhook 配置。唯一可能的更改是卸载了安装 Slack 应用程序(包含 webhook)的工作区。
如果发生这种情况,webhook 将不再工作,您将收到错误响应。
当您的应用程序被卸载时,您还可以通过监听app_uninstalled
事件来获得通知。
或者,您还可以通过检查在 Add to Slack 过程中收到的令牌来测试您的应用程序和 webhook 是否仍然有效。auth.test
只需使用该令牌调用 API 方法。如果它返回以下错误,则 webhook 不再有效:
{
"ok": false,
"error": "invalid_auth"
}
推荐阅读
- android - 在android上用头部移动指针
- powerbi - 强制测量以显示总计(平均)
- docusignapi - 通过 cypress 测试打开 Docusign 时未加载
- yup - 在 Yup 中使用 stripUnknown 时如何明确允许附加字段?
- asp.net-mvc - 在一对多关系中应用级联删除
- mysql - 我无法在 mysql 工作台中导入 100 列的 csv 文件。我尝试使用数据导入向导..导入仍然需要时间
- python - Pandas Dataframe.to_csv - 将变量值插入 csv 文件的开头
- .net - Blazor:无法更新选定的下拉列表,而文本框值已更新
- r - 在 RMarkdown 文档中传递多个参数
- database - 从在 Openshift 4.6 上运行的 Spring Boot 应用程序连接外部数据库