【问题标题】:Facebook Messenger API webhook troubleFacebook Messenger API webhook 问题
【发布时间】:2016-10-12 00:10:54
【问题描述】:

我正在尝试为 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');

【问题讨论】:

  • 您的 webhook URL 正在返回 892694233&lt;link rel...,而它应该只返回数字。我几乎可以保证你启用了 Laravel 的调试栏。

标签: php laravel facebook-graph-api facebook-messenger


【解决方案1】:

抱歉,我的帖子回复晚了,问题是我的 Laravel 应用程序中的 APP_DEBUG(在 .env 文件中)设置为 TRUE,并且请求从调试栏中获取代码

【讨论】:

  • 您为我节省了数小时的调试时间。谢谢!
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    你必须这样做

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-04
      • 2016-11-15
      • 2016-11-09
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多