Facebook Messenger API webhook 问题

Facebook Messenger API webhook trouble

我正在尝试为 Facebook Messenger Bot 平台设置网络钩子,但收到此错误:

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');

我不熟悉 Lavarel,但看起来你提取参数值的方式 hub.challenge 给了你一个错误的值:'892694233

如果您 return 只是响应中的数字 ('892694233'),它应该可以工作。也许您可以清理调用 $request->get('hub_challenge') 的结果以删除最后的文本?

你必须这样做

    if (Request::input('hub_verify_token') === $hubVerifyToken) {
  echo Request::input('hub_challenge');
  exit;
}

抱歉,我的 post 回答晚了,问题是我的 Laravel 应用程序中的 APP_DEBUG(在 .env 文件中)设置为 TRUE,请求得到来自调试栏的代码