我刚刚创建了一个新的Slack应用,并向其中添加了一个机器人。
现在我有2个令牌可用:
编写机器人应用程序时应该使用哪个令牌?
根据文档:
Bot用户令牌具有广泛的权限集,无法修改
我想我可以将xoxb令牌用于RTM和Web API,因为它具有内置作用域。
但是我不知道除了“广泛的权限集”之外,还应该使用xoxp令牌(+配置某些范围)而不是xoxb令牌。
答案 0 :(得分:1)
通常,您始终希望对所有Web API调用使用bot token,因为它代表您的机器人用户,而不是“ Oauth访问令牌”(又称“ user token”),后者代表安装了您的应用。
这意味着使用bot令牌执行的操作将始终像来自bot用户一样,而使用该用户令牌执行的操作则看起来就像是来自安装了该应用程序的用户一样。 (例如发布消息)
它的另一个好处是内置了许多权限,因此您无需为应用程序请求其他权限。
但是,有些API方法不(完全)支持漫游器令牌(例如team.accessLogs
)。对于那些用户,您需要使用用户令牌(并请求必要的权限)。
您可以在每个Web API端点的文档中查看支持哪些令牌类型。请注意,某些API方法仅支持与机器人相关的动作的机器人令牌,而不支持与其他用户相关的动作。例如chat.delete仅能删除由漫游器创建的消息,而不能删除其他用户创建的消息。