我想为松弛频道中发布的任何消息订阅Slack Events API。这些是我在Slack Event API documentations中给出的以下步骤。
我让用户通过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 ;;
我收到来自slack的代码,我交换了访问令牌。
访问令牌:xoxp-XXXXXXXXX-XXXXXXXXX-XXXXXXX-XXXXXXXXXXXXXXXXXXXX 范围:识别,渠道:历史,群组:历史,即时消息:历史,mpim:历史,用户:读取,用户.profile:读取 团队ID:XXXXXXXX
我检查了应用程序和团队的集成,看看应用程序是否已安装,是的,它位于应用程序列表中。
根据我的理解,当团队的任何渠道发布任何消息时,都应该对我的经过验证的网址发出POST请求(" https://api.example.com/slack/event/push")。但我在那里没有收到任何POST请求。
我想也许URL已经破了,但我用计数器对它进行了测试,每次点击URL都会增加计数器。所以URL很好。
我错过了某个地方吗?我不知道下一步该尝试什么。
答案 0 :(得分:1)
我联系了Slack的支持,他们非常乐于助人。松弛的日志显示Slack实际上是向我的请求URL发送POST请求。所以我的设置运行正常。但我的API框架未能解析请求体,因此向Slack发送内部服务器错误(500)。我们使用requestb.in来解决这个问题。
我所要做的就是改变解析请求体的方式。
答案 1 :(得分:-1)
公开频道非常重要!