【发布时间】:2017-07-22 17:31:03
【问题描述】:
我有一个非常有趣和烦人的问题。我建立了一个 Facebook Messenger 机器人……一切正常。我有一个连接到我的 NodeJS 服务器的 webhook。再一次,一切都结束了,直到我进入项目的“最后一步”,即持久菜单。
我使用以下命令添加了一个持久菜单
curl -X POST -H "Content-Type: application/json" -d '{
"setting_type" : "call_to_actions",
"thread_state" : "existing_thread",
"call_to_actions":[
{
"type":"postback",
"title":"Estimate an app cost",
"payload":"startEstimation"
},
{
"type":"postback",
"title":"Get in touch",
"payload":"getInTouch"
},
{
"type":"web_url",
"title":"View Website",
"url":"http://whatever.com"
}
]
}' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=BLA"
这里一切正常,我什至得到了{"result":"Successfully added structured menu CTAs"} 的答案,现在我有了我的菜单。唯一的问题是,当我单击一个回发按钮时.. 没有任何反应。
事实:
-
我让我的服务器在 post api 的第一行打印一些日志:
app.post('/webhook', (req, res) => { console.log("Smth come from the 钩子 =>", req.body);
-> 如果我使用 Postman 发帖,它会起作用。它适用于按钮 当我有一个带有回发的按钮时,在对话中我得到 答案但对于菜单它什么都不做。我没有得到任何日志 全部。就像 Facebook 永远不会触发我的钩子一样。
在页面订阅字段中,我添加了所有这些 .. 情况是多么令人绝望,哈哈。
该机器人的其他一切工作正常。任何其他按钮/短信/回发都可以正常工作。
我的代码是从这里分叉的:https://github.com/api-ai/api-ai-facebook 这是网络钩子https://github.com/api-ai/api-ai-facebook/blob/master/src/app.js#L431
我到底能错过什么?
【问题讨论】:
标签: javascript node.js facebook facebook-graph-api