【问题标题】:Slack (via Oauth) chat.postMessage Error, "channel_not_found", Even Though Channel Is PresentSlack(通过 Oauth)chat.postMessage 错误,“channel_not_found”,即使频道存在
【发布时间】:2018-10-08 17:08:57
【问题描述】:

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

但是,当我使用我的 oauth 工作区访问令牌通过 Postman 尝试 POST 请求时,即使我使用相同的确切频道 ID (C9FEK4T0D),channel_not_found 错误也会被退回。底部的屏幕截图显示了我在 Postman 中的设置。根据 Slack specs,我将我的访问令牌放在请求的 Authorization HTTP 标头中。

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

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


chat.postMessage测试截图:


使用 Postman 请求发送到 chat.postMessage 的 POST 请求的屏幕截图:

【问题讨论】:

  • 也许您的令牌无法访问该频道?工作区令牌可以受到限制。您可以检查您的工作区令牌的权限。 api.slack.com/methods/apps.permissions.info 或使用经典用户令牌,因为工作区令牌仍处于“预览版 = 测试版”
  • 看来我的工作区令牌是有效的并且确实包含频道。 i.imgur.com/fcQyBza.png
  • 以防万一您要问,这是我的应用程序可以访问的范围列表。 i.imgur.com/icgjBPL.png
  • 顺便说一句,我在此 OP 方面遇到的问题的解决方案是我将自定义标头与参数中的参数混合在一起。我删除了参数并将参数放在请求的body 中。
  • 酷。如果您可以将解决方案发布为答案,那就太棒了

标签: javascript oauth-2.0 slack-api


【解决方案1】:

通过将参数移动到正文中,它解决了问题。我将参数与一个不可以的标题混合在一起。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多