Я разрабатываю код, который отвечает через Facebook Messenger, и использую этот фрагмент кода для обработки ответа и ответа на него:
if(isset($_REQUEST['hub_verify_token'])) {
if ($_REQUEST['hub_verify_token'] === A::VERIFY_TOKEN) {
echo $_REQUEST['hub_challenge'];
exit;
}
}
$input = json_decode(file_get_contents('php://input'), TRUE);
$sender_id = $input['entry'][0]['messaging'][0]['sender']['id'];
$message_text = $input['entry'][0]['messaging'][0]['message']['text'];
$fb_handler = new FBHandler($sender_id);
/*$to_send = array(
'recipient' => array('id' => $sender_id ),
'message' => array('text' => "Hi" )
);*/
$to_send = $fb_handler->talk($message_text);
$ch = curl_init('https://graph.facebook.com/v2.6/me/messages?access_token='.A::ACCESS_TOKEN);
curl_setopt_array($ch, array(
CURLOPT_POSTFIELDS => json_encode($to_send),
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array('Content-Type: application/json')
));
$response = curl_exec($ch);
error_log($response['error']);
curl_close($ch);
Чего я не понимаю, так это почему $to_send
работает, но без комментариев нет, потому что код в A
класс правильный, он правильно составляет массив.
Итак, у меня возникла идея, и я спрашиваю вас, правильно ли это (потому что я ничего не нашел в документации разработчиков Facebook): возможно ли, что массив, который будет отправлен в Messenger, должен быть составлен в том же самом виде? набор инструкций?
Я знаю, это звучит смешно, но я не знаю, что еще думать.
Также я заметил, что error_log
не работает: ничего не было написано в php_errorlog
файл. Что происходит?
Задача ещё не решена.
Других решений пока нет …