我的 slack 机器人应用程序使用哪个 slack 令牌
Which slack token to use for my slack bot app
我刚刚创建了一个新的 slack 应用程序并向其添加了一个机器人。
现在我有 2 个代币可用:
- OAuth 访问令牌 (xoxp)
- 机器人用户 OAuth 访问令牌 (xoxb)
编写我的机器人应用程序时应该使用哪个令牌?
根据文档:
Bot 用户令牌具有一组无法修改的广泛权限
我想我可以将 xoxb 令牌用于 RTM 和 Web API,因为它具有内置范围。
但我不知道 "a broad set of permissions" 之外还有什么,在什么情况下我应该使用 xoxp 令牌(+ 配置一些范围)而不是 xoxb 令牌。
一般来说,您总是希望使用 bot token for all web API calls, since it represents your bot user as opposed to the "Oauth Access token" aka "user token",它代表安装了您的应用的用户。
这意味着使用机器人令牌执行的操作将始终像是来自机器人用户,而使用用户令牌执行的操作看起来像是来自安装应用程序的用户。 (例如发布消息)
另一个好处是它内置了很多权限,所以你不需要为你的应用请求额外的权限。
但是,有些 API 方法不(完全)支持机器人令牌(例如 team.accessLogs
)。对于那些您需要使用用户令牌(并请求必要的权限)。
您可以在每个 Web API 端点的文档中看到支持哪些令牌类型。请注意,一些 API 方法将仅支持 bot 令牌用于 bot 相关操作,bot 不支持与其他用户相关的操作。例如chat.delete 只能删除机器人创建的消息,不能删除其他用户创建的消息。
我刚刚创建了一个新的 slack 应用程序并向其添加了一个机器人。
现在我有 2 个代币可用:
- OAuth 访问令牌 (xoxp)
- 机器人用户 OAuth 访问令牌 (xoxb)
编写我的机器人应用程序时应该使用哪个令牌?
根据文档:
Bot 用户令牌具有一组无法修改的广泛权限
我想我可以将 xoxb 令牌用于 RTM 和 Web API,因为它具有内置范围。
但我不知道 "a broad set of permissions" 之外还有什么,在什么情况下我应该使用 xoxp 令牌(+ 配置一些范围)而不是 xoxb 令牌。
一般来说,您总是希望使用 bot token for all web API calls, since it represents your bot user as opposed to the "Oauth Access token" aka "user token",它代表安装了您的应用的用户。
这意味着使用机器人令牌执行的操作将始终像是来自机器人用户,而使用用户令牌执行的操作看起来像是来自安装应用程序的用户。 (例如发布消息)
另一个好处是它内置了很多权限,所以你不需要为你的应用请求额外的权限。
但是,有些 API 方法不(完全)支持机器人令牌(例如 team.accessLogs
)。对于那些您需要使用用户令牌(并请求必要的权限)。
您可以在每个 Web API 端点的文档中看到支持哪些令牌类型。请注意,一些 API 方法将仅支持 bot 令牌用于 bot 相关操作,bot 不支持与其他用户相关的操作。例如chat.delete 只能删除机器人创建的消息,不能删除其他用户创建的消息。