我设置了一个"开始使用"我页面上的按钮:
curl -X POST -H "Content-Type: application/json" -d '{
"get_started":{
"payload":"GET_STARTED_PAYLOAD"
}
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=token"
此工作正常,并以{"result":"success"}
如果我检查数据:
curl -X GET "https://graph.facebook.com/v2.6/me/messenger_profile?fields=get_started&access_token=token
我得到了一个很好的答案:{"data":[{"get_started":{"payload":"GET_STARTED_PAYLOAD"}}]}
然而当我收到回发webhook时,我已经获得了此有效负载:
{
"object": "page",
"entry": [
{
"id": "id1",
"time": 1501688073860,
"standby": [
{
"recipient": {
"id": "id1"
},
"timestamp": 1501688073860,
"sender": {
"id": "id2"
},
"postback": {
"title": "Get Started"
}
}
]
}
]
}
现在我可以在webhook中获得我定义的有效负载(GET_STARTED_PAYLOAD
)。
在this page上,文档说
使用按钮定义的有效负载参数。这仅对发送原始模板消息的应用程序可见。
这条消息令人困惑。有什么想法吗?
答案 0 :(得分:0)
将此答案放在此处,以防有人需要。
standby
道具表示您正在使用切换协议,并且该应用程序没有线程控制。这会导致您无法收到预期的回发事件,因为接收应用程序与发送回发的应用程序不同。