javascript - Facebook Messenger 回传

标签 javascript node.js facebook facebook-graph-api

我有一个非常有趣和烦人的问题。我构建了一个 Facebook Messenger 机器人……一切正常。我有一个 webhook 连接到我的 NodeJS 服务器。在我到达项目的“最后一步”,即永久菜单之前,一切都还很糟糕。

我使用以下命令添加了一个永久菜单

  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 来自于 hook =>", req.body);

    -> 如果我使用 Postman 发帖,它会起作用。它适用于按钮 当我有一个带有回发的按钮时,在对话中我得到 答案是菜单,但它什么都不做。我没有收到任何日志 全部。就像 Facebook 永远不会触发我的钩子(Hook)一样。

  • 在页面订阅字段中,我添加了所有这些..这就是情况的绝望程度,哈哈。

  • 机器人的其他一切正常。任何其他按钮/短信/回传都可以正常工作。

  • 我的代码是从这里 fork 出来的:https://github.com/api-ai/api-ai-facebook 这是 webhook https://github.com/api-ai/api-ai-facebook/blob/master/src/app.js#L431

我到底能错过什么?

最佳答案

检查新的永久菜单要求。

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

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

关于javascript - Facebook Messenger 回传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42564756/

相关文章:

javascript - innerHTML 不显示数据库中的 html

javascript - IndexedDB 有文本过滤器吗?

node.js - 如何在本地运行安全的shieldsio服务器

javascript - 如何使用嵌套协程和 Promise 来简化 JS 代码?

javascript - Facebook 桌面应用程序的重定向 url

javascript - 在 JavaScript 中初始化对象的空属性的正确方法是什么

javascript - AngularJS - 通过 ng click 在 ng Repeat 中的项目之间切换

javascript - 在node.js中制作正确的错误页面

ios - Facebook 应用因一般原因被拒绝

facebook - iOS Facebook SDK 发送后未收到任何 "Request"