首页 > 解决方案 > 哪个 slack 令牌用于我的 slack bot 应用程序

问题描述

我刚刚创建了一个新的 slack 应用程序并向其中添加了一个机器人。

现在我有 2 个可用的令牌:

编写机器人应用程序时应该使用哪个令牌?

根据文档:

Bot 用户令牌具有一组无法修改的广泛权限

我想我可以将 xoxb 令牌用于 RTM 和 Web API,因为它具有内置范围。

但我不知道除了“广泛的权限”之外还有什么,在这种情况下我应该使用 xoxp 令牌(+ config some scopes)而不是 xoxb 令牌。

标签: slackslack-api

解决方案


通常,您总是希望将机器人令牌用于所有 Web API 调用,因为它代表您的机器人用户,而不是“Oauth 访问令牌”又名“用户令牌”,它代表安装您的应用程序的用户。

这意味着使用机器人令牌执行的操作总是来自机器人用户,而使用用户令牌执行的操作可能看起来来自安装应用程序的用户。(例如发布消息)

另一个好处是它内置了很多权限,所以你不需要为你的应用请求额外的权限。

但是,有些 API 方法不(完全)支持机器人令牌(例如team.accessLogs)。对于那些您需要使用用户令牌(并请求必要的权限)的人。

您可以在每个 Web API 端点的文档中查看支持哪些令牌类型。请注意,某些 API 方法仅支持机器人相关操作的机器人令牌,不支持与其他用户相关的操作。例如,chat.delete 只能删除机器人创建的消息,而不是其他用户创建的消息。


推荐阅读