2016-11-21 41 views
1

交互消息應該以JSON格式發送。爲什麼Slacks交互式消息不能以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. 

我的請求的URL如下,我錯過了什麼?

https://admin:[email protected]/api/v1/slack 
+0

請指定你的問題是什麼。您是否收到Slack在您的腳本中格式不正確的請求,或者您是否收到請求? –

+0

是的,Slack對我的腳本的請求格式錯誤。它不在JSON中。 – Atlantic0

回答

4

Slack不直接在JSON中發佈。它使用​​身體參數向您的腳本發送POST請求。該參數包含一個application/x-www-form-urlencoded編碼的字符串,其中包含JSON格式的請求。所以一定要先閱讀JSON消息的有效載荷參數。

這裏是如何在PHP讀取​​放慢參數爲例:

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

爲例子的官方文檔見here