的Facebook Messenger的“开始”按钮,不发送定义的有效载荷
问题描述:
用户我已经设置我的页面上的“开始”按钮:的Facebook Messenger的“开始”按钮,不发送定义的有效载荷
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"}}]}
然而当我收到回传网络挂接,我有这样的有效载荷:
{
"object": "page",
"entry": [
{
"id": "id1",
"time": 1501688073860,
"standby": [
{
"recipient": {
"id": "id1"
},
"timestamp": 1501688073860,
"sender": {
"id": "id2"
},
"postback": {
"title": "Get Started"
}
}
]
}
]
}
现在有办法可以在网络挂接我所定义的有效载荷(GET_STARTED_PAYLOAD
)。
在this page该文档说,用该按钮定义
有效载荷参数。这只对发送原始模板消息的应用程序可见。
此消息有点令人困惑。有任何想法吗 ?
答
把这个答案放在这里以防万一任何人需要它。
standby
prop表示您正在使用切换协议,并且该应用程序没有线程控制。这会导致您不会收到预期的回发事件,因为接收应用程序与发送回发的应用程序不同。
确保您没有使用错误的访问令牌来创建开始按钮。在我看来,你正在获取的最后一个webhook是订阅了FB页面,该页面没有与用于创建按钮的访问令牌相同的访问令牌。 – dafilipaj
你使用切换协议吗?造成这种情况的一个条件是,如果应用程序当前没有线程控制,这是通过在“备用”通道中接收的事件来表示的。 – amuramoto
是的,我在facebook dev上打开了一张票,这就是结论。谢谢@amuramoto – rmonjo