我从松弛的API开始,尝试获取消息列表。这是我的步骤:
结果:
{ "ok": false, "error": "not_in_channel" }
我完全不确定这里发生了什么。我肯定在该频道中有消息,并且documentation page for that api没有说任何有关此“ not_in_channel”错误代码的信息。
我在做什么错?
答案 0 :(得分:29)
经过长时间的调查(约2个小时),我发现了一种简单的方法。对于Caleb的回答,我不明白如何邀请Bot进入频道。因此,我要发布此答案。
转到您的备用频道,然后输入以下内容作为消息。
/invite @BOT_NAME
例如:如果您的Bot名称为SRE Incident Manager
,则命令如下。
/invite @sre_incident_manager
一旦您开始输入@
,Slack将自动建议。这样就变得容易了。为此,需要将Bot添加到您的Slack Workspace。
PS:Original answer。
答案 1 :(得分:17)
当您使用漫游器oauth令牌并且未邀请漫游器进入通道时,会出现此错误。要解决这个问题,您需要
要将Bot添加到您的频道,您需要在闲置频道中写入/ invite @Bot_name
答案 2 :(得分:2)
错误 not_in_channel
具有确切含义,您的自定义 Slack 应用应添加到频道中。
要解决该错误,请在 Web Slack 界面中:
channel settings
Integrations tab
Add apps
并找到您的定制应用。Slack 应用程序可能有不同的界面,请参阅 Iryna Vernik's answer。
通过添加工作区范围,例如 chat:write.public
,授予对所有频道的机器人访问权限。取决于您的需求和安全要求。
要从 API 访问频道聊天,请指定 Incoming webhook
。 Slack 将为每个频道生成一个带有令牌的唯一 URL。只方便少数频道。
答案 3 :(得分:1)
我也不明白如何邀请Bot进入频道。 Caleb和Keet提出的方法对我来说尚不清楚或不起作用。在我这边,“邀请”工作
我还使用了 Bot用户OAuth访问令牌,因为我需要在专用渠道中使用此功能(此外,您应该为bot groups:history 范围添加)>