如何初始化同时拥有Bot与User OAuth权限范围的Slack Bolt Python应用?
在Slack Bolt Python中同时启用Bot Token与User Token权限
要不要创建两个应用实例?
不用,单个App实例就能同时支持两种权限范围,没必要创建多个实例。
怎么初始化支持双权限的应用?
有两种常用实现方式:
方式一:初始化时传入包含双Token的字典
直接在初始化App时,将token参数设为包含bot和user键的字典,分别对应你的Bot Token和User Token:
from slack_bolt import App app = App( token={ "bot": SLACK_BOT_TOKEN, "user": SLACK_USER_TOKEN }, signing_secret=SLACK_SIGNING_SECRET )
这种情况下,Bolt会根据你调用的Slack API自动选择合适的Token;如果需要手动指定,也可以在API调用时明确传入对应Token:
# 使用Bot Token发送消息 app.client.chat_postMessage( channel="#general", text="Bot发来的消息", token=app.token["bot"] ) # 使用User Token获取用户资料 app.client.users_profile_get( user="U12345678", token=app.token["user"] )
方式二:初始化后动态指定Token
如果初始仅初始化了带Bot Token的应用,后续需要使用User Token时,直接在API调用中手动指定即可:
# 先初始化仅带Bot Token的应用 app = App(token=SLACK_BOT_TOKEN, signing_secret=SLACK_SIGNING_SECRET) # 调用API时传入User Token app.client.users_profile_get( user="U12345678", token=SLACK_USER_TOKEN )
内容的提问来源于stack exchange,提问作者tayron.vikranth
相关产品推荐
相关产品推荐

