如何自动从 Slack 获取访问令牌?

How can I automate getting an access token from Slack?

我想在 Apigee 上制作一个警报系统,它会自动向 Slack 发送警报,而无需人工干预。

但是,我在他们的 api 网站上发现的唯一的 Slack OAuth 流程似乎需要用户手动输入他们的凭据:https://api.slack.com/docs/oauth

如何自动从 Slack 获取访问令牌,而无需手动输入凭据?

我想你可能误解了Oauth的概念。它应该工作的方式是,您 运行 每个 Slack 团队只执行一次该过程(通常是在将 Slack 应用程序安装到您的 Slack 团队时),然后存储您收到的访问令牌以供将来参考(例如,在数据库)。因此,每当您的 Slack 应用程序在安装后需要访问令牌时,它始终可以重复使用在安装过程中收到的令牌。

如果您不需要任何脚本来 运行 进行安装,您只需要访问令牌,您也可以直接从 Slack(在 "Your Apps" 下)安装您的 Slack 应用程序,然后复制并将生成的访问令牌粘贴到您的应用程序配置中。查看 this 文档以获取更多信息。

如果您正在动态生成 webhook,则每次都需要 OAuth 2.0。但是,如果您使用 Web API chat.postMessage 方法,它只需要令牌(在 OAuth 和权限部分下)发出 HTTP POST 请求来发送通知。