Ошибки hub_verify_index и hub_challenge в Messenger Bot

Я пытаюсь построить мессенджер-бот с PHP, следуя этим двум руководствам: http://blog.adnansiddiqi.me/develop-your-first-facebook-messenger-bot-in-php/ а также https://medium.com/@nadeem.manzoor0/facebook-messenger-platform-web-hook-setup-in-php-893ead06746b#.lcpp0jh9o.

И я использовал nGrok v2.1.18 работать мой localhost код от мессенджера бота. В моем localhostЯ уже установил xampp control panel v3.2.1,

Вот мой webhook.php:

<?php
/* validate verify token needed for setting up web hook */
if (isset($_GET['hub_verify_token'])) {
if ($_GET['hub_verify_token'] === 'here_is_my_token') {
echo $_GET['hub_challenge'];
return;
} else {
echo 'Invalid Verify Token';
return;
}
} else {
echo $_GET['hub_verify_token'];
echo $_GET['hub_challenge'];
}

$input = json_decode(file_get_contents('php://input'), true);

$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];

/**
* Some Basic rules to validate incoming messages
*/
if(preg_match('[time|current time|now]', strtolower($message))) {

// Make request to Time API
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0)');
$result = file_get_contents("http://www.timeapi.org/utc/now?format=%25a%20%25b%20%25d%20%25I:%25M:%25S%20%25Y");
if($result != '') {
$message_to_reply = $result;
}
} else {
$message_to_reply = 'Huh! what do you mean?';
}
print $message_to_reply;
//API Url
$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=<my-token>';//Initiate cURL.
$ch = curl_init($url);

//The JSON data.
$jsonData = '{
"recipient":{
"id":"'.$sender.'"},
"message":{
"text":"'.$message_to_reply.'"}
}';

//Encode the array into JSON.
$jsonDataEncoded = $jsonData;

//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);

//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

//Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));

//Execute the request
if(!empty($input['entry'][0]['messaging'][0]['message'])){
$result = curl_exec($ch);
}
?>

И я уже установил URL-адрес webhooks на своей странице приложения в Facebook следующим образом: https://903....ngrok.io/FunBot/webhook.php а также установить токен проверки. Нет проблем.

Когда я отправляю сообщение со своей страницы, я вижу ответ в nGrok с 200 OK, Но в боте messeger он ничего не отвечает.

Итак, я пытаюсь войти с json_decode(file_get_contents('php://input'), true) и нет ошибки.

Но я получил "Undefined index: hub_challenge in C:\xampp\htdocs\FunBot\webhook.php on line ....." а также "Undefined index: hub_verify_token in ......." ошибка при попытке распечатать $_GET['hub_verify_token'] а также $_GET['hub_challenge'],

Здесь undefined index результат ошибки на nGrok,
неопределенное индексное изображение результата

Я не уверен, что эти двое "undefined index" проблема может привести к тому, что бот не отвечает.

И мне нужно изменить me/messages? от $url в page id или некоторые другие идентификаторы.

Я уже прочитал много постов на stackoverflow О боте не ответить, проблема, и это не работает для меня. Я действительно не знаю, какая часть не так, потому что это впервые для меня с ботом.

Я очень благодарен за любое предложение.

1

Решение

Наконец-то я нашел решение. Основная проблема SSL проблема. Без использования SSL сертификат, бот ничего не отвечает, даже код в порядке. А у меня нет SSL, Итак, я застрял в странной проблеме.

Итак, теперь я использовал Heroku загрузить мой репозиторий кода и снова настроить webhooks с URL-адресом из Heroku, Используя Herokuвам не нужно беспокоиться о SSL, Сейчас все в порядке.

это ссылка на сайт очень полезно для создания мессенджера бота.

Я надеюсь, что мой ответ может помочь кому-то.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]