尝试使用机器人令牌获取频道历史记录时出现 Missing_scope 错误

Mat*_*ard 5 javascript slack-api slack

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

app.client.conversations.history({
      token: token,
      channel: channelId,
      latest: messageId,
      count: 1
    })
Run Code Online (Sandbox Code Playgroud)

我越来越Error: An API error occurred: missing_scope

我正在传递一个 Bot 令牌(文档表明支持https://api.slack.com/methods/conversations.history),并且已经将channels.historychannels.read范围添加到我的 oAuth 和权限范围中,所以我有点糟糕。

以前有人遇到过这个吗?

Eri*_*ken 4

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

API 文档页面

机器人用户令牌可以使用此方法进行直接消息和多方直接消息对话,但缺乏足够的权限在公共和私人渠道上使用此方法。

机器人令牌文档页面

机器人用户令牌不能添加基于资源的 OAuth 范围,在 OAuth 安装流程期间请求的机器人以外的任何范围对机器人用户令牌都没有影响

因此,解决方案是在所需范围内使用 Oauth 访问令牌(又名用户令牌)。