Facebook Send API提到了您可以爲通用響應模板上的按鈕設置的「有效載荷」類型。然而,他們不說它是如何工作,比其他:Facebook上的「有效載荷」選項機器人按鈕
對於回發的按鈕,這個數據將通過網絡掛接
發回給你,但它是如何打發回去吧?當我點擊有效載荷按鈕時,我沒有收到任何消息。有沒有人成功使用它?
Facebook Send API提到了您可以爲通用響應模板上的按鈕設置的「有效載荷」類型。然而,他們不說它是如何工作,比其他:Facebook上的「有效載荷」選項機器人按鈕
對於回發的按鈕,這個數據將通過網絡掛接
發回給你,但它是如何打發回去吧?當我點擊有效載荷按鈕時,我沒有收到任何消息。有沒有人成功使用它?
我測試了它,它適用於我。按鈕的有效負載就像html按鈕上的值一樣。這意味着它對用戶不可見,但它是發回給您的價值。
如果你創建了一個按鈕:
'attachment': {
'type': 'template',
'payload': {
'template_type': 'button',
'text': 'This is the description',
'buttons': [
{
'type': 'postback',
'title': 'This is the visible text',
'payload': 'This is the value you get back'
}
]
}
包括有效載荷的回調看起來像這樣:
{'timestamp': 1461697120850, 'postback': {'payload': 'this is the value you get back'}, 'recipient': {'id': xxxxxxxx}, 'sender': {'id': xxxxxxxx}}
如何捕捉它的價值在PHP? – runningmark
@runningmark if(isset($ input ['entry'] [0] ['messaging'] [0] ['message'] ['quick_reply'])){ \t $ payload_txt = $ input ['entry' ] [0] ['messaging'] [0] ['message'] ['quick_reply'] ['payload'];' – Abhishek
你測試了這些行嗎?我試了一下它不工作 –
當您單擊該按鈕POST消息被髮送到你的/webhook
。
你必須處理的有效載荷是這樣的:
app.post('/webhook/', function (req, res) {
messaging_events = req.body.entry[0].messaging;
for (i = 0; i < messaging_events.length; i++) {
event = req.body.entry[0].messaging[i];
sender = event.sender.id;
if (event.message && event.message.text) {
text = event.message.text;
// Handle a text message from this sender
} else if (event.postback && event.postback.payload) {
payload = event.postback.payload;
// Handle a payload from this sender
}
}
res.sendStatus(200);
});
此代碼段是從入門指南從Facebook除了else if
在那裏你可以在有效載荷反應。
嗨,我們如何用php實現,無法找到完美的方式來獲得有效載荷的價值 – runningmark
這是怎麼回讀有效載荷:
$payload = $input['entry'][0]['messaging'][0]['postback']['payload'];
沒有你訂閱messaging_postbacks選項,同時傳令機器人架設網頁掛機..? https://developers.facebook.com/docs/messenger-platform/webhook-reference – piyushmandovra