我正在尝试为Facebook Messenger Bot平台设置webhook,我收到此错误:
The URL couldn't be validated. Response does not match challenge, expected value = '892694233', received='892694233<link rel...'
我正在使用heroku主机进行测试,并使用SSL调用回调URL,该项目在Laravel 5.2上,这是处理webhook设置的代码
if ($request->get('hub_verify_token') == config('services.bot.verification_token')) {
return (new Response())->setContent($request->get('hub_challenge'));
}
return (new Response())->setContent('Error: token mismatch');
答案 0 :(得分:1)
很抱歉我的帖子迟到了,问题是我的Laravel应用程序中的APP_DEBUG(在.env文件中)设置为TRUE,请求从调试栏获取代码
答案 1 :(得分:0)
我对Lavarel并不熟悉,但看起来就像你提取参数hub的值一样。挑战给你一个错误的值:'892694233
如果只返回响应中的数字('892694233'),它应该有效。也许你可以清理调用$ request-&gt; get('hub_challenge')的结果,以便删除最后的文本?
答案 2 :(得分:-1)
你必须这样做
if (Request::input('hub_verify_token') === $hubVerifyToken) {
echo Request::input('hub_challenge');
exit;
}