【发布时间】:2016-04-19 16:25:17
【问题描述】:
我正在尝试设置一个 fb messenger 聊天机器人,但似乎无法验证 webhook 回调 url。每次我尝试验证它时,都会收到此错误消息 - 无法验证 URL。响应与挑战不匹配,期望值 = '1596214014',收到 =''
截图如下:
这是我正在使用的 php -
<?php
$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];
if ($verify_token === 'token_my_token') {
echo $challenge;
}
我也试过了
echo $_GET['hub_challenge'];
只是
echo file_get_contents('php://input');
所有这些都会导致与上述相同的错误消息。基本上,据我所知,facebook 没有向我的服务器发送 GET 请求,或者它不包含任何数据。谁能告诉我是否做错了什么,或者是否需要更改设置以确保 facebook 正确发送数据?
编辑 - 检查访问日志时,这是我发现的,看起来 facebook 没有在 get 请求中发送任何数据。
2a03:2880:1010:dffb:face:b00c:0:8000 - - [19/Apr/2016:20:50:06 +0000] "GET /wp-content/plugins/applications/fbmessenger.php HTTP/1.0" 200 - "-" "facebookplatform/1.0 (+http://developers.facebook.com)
谢谢
【问题讨论】:
-
您查看过 Facebook 发送给您的日志吗?
-
是的,使用该信息编辑了上面的帖子。谢谢。
-
echo $_REQUEST['hub_challenge']; 是让它发挥作用的关键。确保您将其发送回去,并且您不再发送任何内容! (不要回显更多代码)并且,有时需要 8-9 次试验才能使其工作。如果您遇到错误,请依次点击“保存”。奇怪,但我的在 9 次试验后工作。 (不改变我的代码)
标签: php facebook webhooks messenger facebook-messenger