所以我正在尝试为新的 Facebook Messenger API 设置一个机器人。
我正在关注 the quickstart .
我设置了 webhook,并在我的 webhook 中看到了它,
我这样称呼:
https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=%3Ctoken%3E
它没有抛出任何错误,
但是当我转到生成访问 token 的页面并发送消息时,它不会调用我的 webhook。 我检查了 httpaccess,它没有调用它。
有什么调试方法或任何想法吗?
此外,我仍然困惑的一件事是如何支持从一个 Facebook 应用程序管理多个页面?任何人都知道这个问题的答案,或者您是否需要创建一个新的应用程序并获得每个页面的权限?
最佳答案
我最近使用了新的聊天机器人 API,其中有很多地方可能出错。所以,这里有一些想法。
- 确保您已在产品设置选项卡下验证了您的网络钩子(Hook)。
- 使用您的页面访问 token 将您的应用程序订阅到该页面。如果一切正常,它会返回
{"success": "true"}
。
重要
确保您发送消息的 Facebook 用户被列为 管理员 或 开发人员 或您的应用程序角色 ( https://developers.facebook.com/apps/YOUR_APP_ID/roles/ )。除非您的应用获得批准并公开发布,否则来自其他用户的消息将不起作用。
您是否收到来自 facebook api 的任何回电?还是只是消息?查看您的 Web 服务器的日志,并检查您是否在 webhook 上获得任何点击。还要检查错误日志。
尝试手动点击您的 webhook,看看它是否响应。您可以使用 curl 生成手动请求。这是来自的请求 Facebook 看起来像:
命令:
curl -i -X POST -H 'Content-Type: application/json' -d '{"object":"page","entry":[{"id":43674671559,"time":1460620433256,"messaging":[{"sender":{"id":123456789},"recipient":{"id":987654321},"timestamp":1460620433123,"message":{"mid":"mid.1460620432888:f8e3412003d2d1cd93","seq":12604,"text":"Testing Chat Bot .."}}]}]}' https://www.YOUR_WEBHOOK_URL_HERE
关于Facebook Messenger webhook 设置,但未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36803570/