通过传入webhook发送消息时发生channel_not_found异常

pra*_*y G 7 slack-api slack

我使用传入的webhooks发送消息,但是通过使用类似这样的东西覆盖channelID发送到特定频道(如此处所述:https://api.slack.com/incoming-webhooks )

   {
"channel": "#my_channel",
"text": "This message will appear in #other-channel"
  } 
Run Code Online (Sandbox Code Playgroud)

当我给出我的channelID时能够接收到松弛的消息,但是当我给别人channelID(有效的频道ID)时,我得到了channel_not_found异常.

请告诉我可能出现的问题.

Eri*_*ken 7

假设您的意思是“其他人频道 ID”是其他人是(但您不是)成员的私人频道的 ID,这是正常的 Slack 行为。

您不能向您(作为创建传入 webhook 的用户)不是其成员的私人频道发送消息。事实上,您不属于的所有私人频道对您都是不可见的,并且对于传入的 webhook 和 Slack API 的行为是相同的。

我使用的解决此功能的方法是使用特殊的管理员用户(例如“Slack Admin”)创建传入的 webhook,并确保他被邀请进入所有相关的私人频道


Jos*_*hua 5

如果您使用新的 Slack Bot 令牌范围,请确保您也在使用Bot User OAuth Access Token而不是旧的基于用户的OAuth Access Token. 不会OAuth Access Token立即失败,但始终会受到请求安装应用程序的用户的权限限制。

正如 Erik 所描述的,这会导致机器人用户和其他工作区用户之间的 IM 不可见。