【问题标题】:Facebook Messenger PostbackFacebook Messenger 回传
【发布时间】: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


    【解决方案1】:

    查看新的持久菜单要求。

    https://developers.facebook.com/docs/messenger-platform/messenger-profile/persistent-menu

    它已经改变了一点(尤其是 POST 请求),所以可能就是这个问题。

    【讨论】:

    • 这不是我要找的东西,哈哈 :) 我已经实现了 webhook api。看不到我链接的github代码吗?
    • 对不起,我跳过了 Github 的一部分;)
    • 是的,不用担心 .. 但我仍然需要一些帮助 :(
    • 我已经更新了我的答案。查看新的 FB 要求,他们更改了持久菜单的 API。
    • 天哪.. 就是这样,哈哈:|。那些天我用搜索请求向谷歌发送垃圾邮件,但没有找到任何关于新 API 的信息。非常感谢老兄
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多