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

时间:2017-02-21 15:56:34

标签: slack-api slack

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

  1. 我创建了一个具有以下权限范围的松弛应用:
    • 频道:历史,群组:历史,即时消息:历史,mpim:历史
  2. 在事件订阅中,我成功启用了事件,验证了请求网址(" https://api.example.com/slack/event/push"),并订阅了以下团队活动:
    • channel_history_changed,group_history_changed,message.channels,message.groups,message.im,message.mpim
  3. 我让用户通过oauth授权安装应用。网址如下所示,其范围和重定向为uri。 (PHP代码)

    $ url =" https://slack.com/oauth/authorize/?client_id=" 。 SLACK_CLIENT_ID。         "&安培;范围= users.profile:读,用户:读,组:历史,信道:历史记录,IM:历史,mpim:历史" 。         "&安培; REDIRECT_URI =" 。 urlencode(' https://api.example.com/slack/oauth/callback')。         "&安培;状态= XXXXXXXXX&#34 ;;

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:-1)

公开频道非常重要!