Я пытаюсь настроить webhook для платформы Facebook Messenger Bot, и я получаю эту ошибку:
The URL couldn't be validated. Response does not match challenge, expected value = '892694233', received='892694233<link rel...'
Я использую хост heroku для тестирования и URL обратного вызова с SSL, проект на 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');
Извините за поздний ответ на мой пост, проблема была в том, что APP_DEBUG (в файле .env) в моих приложениях Laravel установлен на TRUE, а запрос получил код из панели отладки.
Я не знаком с Lavarel, но похоже, что вы извлекаете значение параметра hub.challenge, которое дает вам неправильное значение: ‘892694233
Если вы вернете только число в ответе («892694233»), оно должно работать. Может быть, вы можете очистить результат вызова $ request-> get (‘hub_challenge’), чтобы удалить текст в конце?
Вы должны сделать это
if (Request::input('hub_verify_token') === $hubVerifyToken) {
echo Request::input('hub_challenge');
exit;
}