首页 文章

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

提问于
浏览
2

我想为松弛通道中发布的任何消息订阅Slack Events API . 这些是我在Slack Event API documentations中给出的以下步骤 .

  • 我使用以下权限范围创建了一个松弛的应用程序:

  • Channels :历史,群组:历史,即时消息:历史,mpim:历史

  • 在事件订阅中,我成功启用了事件,验证了请求URL(“https://api.example.com/slack/event/push”),并订阅了以下团队事件:

  • channel_history_changed,group_history_changed,message.channels,message.groups,message.im,message.mpim

  • 我让用户通过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";

  • 我收到了来自slack的代码,我交换了访问令牌 .

访问令牌:xoxp-XXXXXXXXX-XXXXXXXXX-XXXXXXX-XXXXXXXXXXXXXXXXXXXX范围:识别, Channels :历史,群组:历史,即时消息:历史,mpim:历史,用户:读取,users.profile:读取团队ID:XXXXXXXX

我检查了应用程序和团队的集成,看看应用程序是否已安装,是的,它位于应用程序列表中 .

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

我想也许URL已经坏了,但我用计数器对它进行了测试,每次点击URL都会增加计数器 . 所以URL很好 .

我错过了某个地方吗?我不知道下一步该尝试什么 .

1 回答

  • 1

    我联系了Slack支持,他们非常乐于助人 . 松弛的日志显示Slack实际上是向我的请求URL发送POST请求 . 所以我的设置工作正常 . 但是我的API框架无法解析请求体,因此向Slack发送内部服务器错误(500) . 我们通过使用requestb.in来解决这个问题 .

    我所要做的只是改变我解析请求体的方式 .

相关问题