我的请求 URL 未收到 Slack Events API 的任何事件。我错过了什么?

Sub*_*a S 5 slack-api slack

我想为 Slack 频道中发布的任何消息订阅 Slack Events API。这些是我在 Slack Event API文档中给出的以下步骤。

  1. 我创建了一个具有以下权限范围的 slack 应用程序:
    • 频道:历史,组:历史,IM:历史,mpim:历史
  2. 在事件订阅中,我启用了事件,成功验证了请求 URL(“ https://api.example.com/slack/event/push ”),并订阅了以下团队事件:
    • channel_history_changed, group_history_changed, message.channels, message.groups, message.im, message.mpim
  3. 我让用户通过 oauth 授权来安装应用程序。url 如下所示,带有范围和重定向 uri。(PHP代码)

    $url = " https://slack.com/oauth/authorize/?client_id= " 。SLACK_CLIENT_ID 。"&scope=users.profile:read,users:read,groups:history,channels:history,im:history,mpim:history"。“&redirect_uri=”。urlencode(' https://api.example.com/slack/oauth/callback ') 。"&state=XXXXXXXXX";

  4. 我从 slack 收到一个代码,我用它来交换访问令牌。

    访问令牌:xoxp-XXXXXXXXX-XXXXXXXXX-XXXXXXX-XXXXXXXXXXXXXXXXXXXX 范围:identify,channels:history,groups:history,im:history,mpim:history,users:read,users.profile:read 团队 ID:XXXXXXXX

我检查了团队的应用程序和集成,以查看该应用程序是否已安装,是的,它在应用程序列表中。

现在,根据我的理解,当在团队的任何频道中发布任何消息时,应该向我经过验证的 URL(“ https://api.example.com/slack/event/push ”)发出 POST 请求。但我在那里没有收到任何 POST 请求。

我想可能是 URL 损坏了,但我用计数器测试了它,每次点击 URL 时,它都会增加计数器。所以网址没问题。

有没有我在某处错过的步骤?我不知道接下来要尝试什么。

Sub*_*a S 2

我联系了 Slack 支持人员,他们非常有帮助。Slack 的日志显示 Slack 实际上正在向我的请求 url 发送 POST 请求。所以我的设置工作得很好。但我的 API 框架无法解析请求正文,因此向 Slack 发送内部服务器错误 (500)。我们通过使用requestb.in解决了这个问题。

我所要做的就是改变解析请求正文的方式。