Slack API reminders.add调用失败:bot token提示not_allowed_token_type
错误原因及解决办法
为什么会出现not_allowed_token_type?
核心问题很明确:Slack的reminders.add API不支持Bot Token(xoxb-开头)调用,这个接口只能用**User Token(xoxp-开头)**发起请求。
哪怕你给Bot配置了reminder:write权限也没用——Slack的Reminder API在设计上就限定了只有用户身份的Token才能创建提醒,Bot Token没有调用该接口的权限。
怎么解决?
1. 生成符合要求的User Token
- 打开Slack App管理后台,进入「OAuth & Permissions」页面
- 在「User Token Scopes」板块添加
reminder:write权限 - 重新把App安装到你的工作区,此时会生成一个xoxp-开头的User Token,复制保存好
2. 替换Token调用API
- 把Lambda代码或测试工具里的Bot Token换成刚拿到的User Token
- 构造对应你需求的请求参数(注意频道要传ID,不能直接传名称,可通过
conversations.list接口获取频道ID):{ "text": "@EC2Handler Stop EC2 Instance", "channel": "UXXXXXXX", // 替换成#bot-testing的实际频道ID "time": "in 30 seconds" }
3. 额外注意
- User Token绑定的是具体用户,要是这个用户离开工作区,Token会失效,得提前做好预案
- 确保持有User Token的用户能正常访问
#bot-testing频道
内容的提问来源于stack exchange,提问作者Slev1n
相关产品推荐
相关产品推荐

