如何在 Slack OAuth 请求中指定机器人和客户端范围

How to specify bot and client scopes in Slack OAuth request

当我同时使用 clientbot 范围时,出现以下错误。

https://slack.com/oauth/authorize?scope=bot,client

Cannot request service scope (bot) with deprecated scopes.

客户端范围似乎已被弃用(尽管我还没有看到它的任何文档)。我可以用 bot 范围指定对象范围, 但我无法收集构成复合范围的所有范围 client(尤其是 RTM 的范围)。

您需要在 slack oauth 设置中提供您自己的服务器重定向 uri,方法是转至 https://api.slack.com/applications 并选择您正在使用的应用程序。

如果您在本地开发,您应该通过 http://localhost:3000/oauth/authorize?scope=bot,client

之类的方式请求

或者如果你在生产,你想指定你的服务器 uri,比如 http://<SERVER_URI>/oauth/authorize?scope=bot,client

客户端范围未弃用,but is incompatible with the bot scope

Please note that certain scopes cannot be asked for in combination with each other. For instance, you cannot request both the bot scope and the client scope. When users arrive at an authorization page requesting invalid scope combinations, they'll see an ugly error stating something to this effect:

"OAuth error: invalid_scope: Cannot request service scope (bot) with deprecated scopes"

如果要访问 RTM API 以构建客户端,请请求客户端范围。如果要使用 RTM API 构建 Slack 应用程序,请使用 bot 范围。任何一个都应该足以满足您的需求