尝试使用漫游器令牌获取频道历史记录时出现missing_scope错误

时间:2019-07-15 15:15:16

标签: javascript slack slack-api

使用Slacks Bolt框架执行以下操作时:

app.client.conversations.history({
      token: token,
      channel: channelId,
      latest: messageId,
      count: 1
    })

我得到Error: An API error occurred: missing_scope

我正在传递Bot令牌(指示的文档受支持https://api.slack.com/methods/conversations.history),并且已经向我的oAuth和权限范围添加了channels.historychannels.read范围,因此我是真烂。

以前有人遇到过吗?

1 个答案:

答案 0 :(得分:1)

如果您想使用conversations.history从公共频道提取消息,则您的机器人令牌将无法使用。它仅具有用于直接消息通道的内置范围,并且不能添加范围。

来自API documentation page

  

Bot用户令牌可以将此方法用于直接消息和多方   直接的消息对话,但缺乏足够的使用权限   在公共和私人频道上都采用这种方法。

来自bot token documentation page

  

Bot用户令牌不能添加基于资源的OAuth范围,   OAuth安装流程中请求的除bot以外的所有作用域   对漫游器用户令牌无效

因此解决方案是将Oauth访问令牌(也称为用户令牌)与所需范围一起使用。