Slack(通过 Oauth)chat.postMessage 错误,"channel_not_found",即使通道存在

Slack (via Oauth) chat.postMessage Error, "channel_not_found", Even Though Channel Is Present

当我使用 Slack's tester 和遗留令牌测试 chat.postMessage 时,一切正常,如下面的第一个屏幕截图所示。

但是,当我尝试使用我的 oauth 工作区访问令牌通过 Postman 发出 POST 请求时,即使我使用的是完全相同的频道 ID (C9FEK4T0D).底部的屏幕截图显示了我在 Postman 中的设置。根据 Slack specs,我将我的访问令牌放在请求的授权 HTTP header.

我没有包含或做错了什么导致了错误?

顺便说一句,不确定它是否重要但是 chat.postMessage 通过斜线命令被调用。


chat.postMessage 测试截图:


POST 通过 Postman 向 chat.postMessage 发送请求的屏幕截图:

通过将参数移动到 body 它解决了问题。我将参数与 header 混合在一起,这是不行的。

如果您正在使用新的 Slack Bot 令牌范围,请确保您也在使用 Bot User OAuth Access Token 而不是旧的基于用户的 OAuth Access Token

OAuth Access Token不会立即失败,但会始终受到请求安装应用程序的用户的权限限制。这会导致机器人用户和其他工作区用户之间的 IM 不可见。