我开始Slack API尝试获取消息列表。
这是我的步骤:
channels:read和channels:history 范围(还有re-installed它)conversations.list(这很好用)conversations.list,我找到了一个我使用的频道并复制了idconversations.history api与channelid步骤3结果:
{ "ok": false, "error": "not_in_channel" }
Run Code Online (Sandbox Code Playgroud)
我完全不确定这里发生了什么。我肯定在频道中有消息,该api的文档页面没有说明这个“not_in_channel”错误代码。
我究竟做错了什么?
Kee*_*asa 70
经过长时间的调查(约 2 小时),我找到了一个简单的方法。对于 Caleb 的回答,我不明白如何邀请 Bot 加入频道。因此,我发布了这个答案。
转到您的 Slack 频道并键入以下内容作为消息。
/invite @BOT_NAME
Run Code Online (Sandbox Code Playgroud)
例如:如果您的 Bot 名称是,SRE Incident Manager则命令如下。
/invite @sre_incident_manager
Run Code Online (Sandbox Code Playgroud)
一旦您开始输入@,Slack 就会自动提出建议。所以变得容易。为此,需要将机器人添加到您的 Slack 工作区。
PS:原答案。
Art*_*tru 68
该错误not_in_channel具有确切的含义,您的自定义 Slack 应用程序应添加到频道中。
要解决该错误,请在 Web Slack 界面中:
channel settingsIntegrations tabAdd apps并找到您的自定义应用程序。Slack 应用程序可能有不同的界面,请参阅Iryna Vernik 的回答。

通过添加工作区范围(例如,chat:write.public. 取决于您的需求和安全要求。
要从 API 访问频道聊天,请指定Incoming webhook。Slack 将为每个通道生成一个带有令牌的唯一 URL。仅方便少数频道。
Cal*_*iri 30
当您使用机器人 oauth 令牌并且机器人未被邀请加入频道时,会出现此错误。要解决这个问题,您需要
要将 Bot 添加到您的频道,您需要在 slack 频道中写入 /invite @Bot_name
小智 11
我也不明白如何邀请 Bot 加入频道。Caleb 和 Keet 提出的方式对我来说不清楚或不起作用。在我看来,“邀请”工作之后
我还使用了Bot User OAuth Access Token,因为我需要在私人频道中使用此功能(此外,您应该为机器人组添加:历史范围)
正如其他人所说,您需要加入每个频道。
该机器人可以使用以下 API 以编程方式加入频道:
https://api.slack.com/methods/conversations.join
不要忘记添加权限conversations.join
| 归档时间: |
|
| 查看次数: |
16612 次 |
| 最近记录: |