为什么Slacks交互式消息不以JSON格式发布?

时间:2016-11-21 14:53:44

标签: slack-api slack

交互式消息应该以JSON格式发送。

We'll send an HTTP POST request with information to this URL when users invoke message buttons. This URL must use the "https" protocol.

我的请求网址如下,我遗失了什么?

https://admin:password@domain/api/v1/slack

1 个答案:

答案 0 :(得分:5)

Slack没有直接在JSON中发布。它正在使用payload body参数向您的脚本发送POST请求。此参数包含application/x-www-form-urlencoded编码的字符串,其中包含JSON格式的请求。因此,请务必先读取JSON消息的payload参数。

以下是如何在PHP中阅读payload参数的示例:

$payload_json = filter_input(INPUT_POST, 'payload', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES );
$payload = json_decode ($payload_json, true);

有关示例的官方文档,请参阅here