Я настроил URL-адрес Webhok by Ngrok для своей страницы в Facebook и применил все требования к платформе Messenger, но когда я отправляю сообщения на свою страницу в Facebook, я сталкиваюсь со следующей ошибкой:
POST /Facebook_Messenger_Token 500 Internal Server Error
и в файле маршрутов в Laravel я использую функции Get и Post следующим образом:
Route::get('Facebook_Messenger_Token', 'MessengerController@index');
Route::post('Facebook_Messenger_Token', 'MessengerController@index');
Когда я отправляю сообщения, я получаю следующую ошибку в storage/app.logs/laravel:
[2020-06-08 18:44:21] local.ERROR: Undefined variable: id {"exception":"[object] (ErrorException(code: 0): Undefined variable: id at C:\\xampp\\htdocs\\AzadApp\\app\\Http\\Controllers\\MessengerController.php:17)
[stacktrace]
мой индекс публичной функции:
public function index()
{
// here we can verify the webhook.
// i create a method for that.
$this->verifyAccess();
$user = json_decode($this->getUser($id)); --this is line 17
$input = json_decode(file_get_contents('php://input'), true);
$id = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];
$response = [
'recipient' => ['id' => $id ],
'message' => ['text' => "Thanks for watching {$user->first_name} {$user->last_name}! :)"]
];
$this->sendMessage($response);
}
Пожалуйста, поддержите и спасибо.
MessengerController line 17
, наверняка это функция индекса, которую я просил вас опубликовать ранее. скопируйтеpublic function index
изMessengerController
и вставьте в свой вопрос - person George   schedule 08.06.2020$id
вjson_decode($this->getUser($id))
следует определить, прежде чем использовать ее в строке 17, поэтому перемещение строки 19 перед строкой 17 должно решить вашу проблему. - person George   schedule 08.06.2020