Messenger Bot in PHP: No risposta indietro

voti
2

Sto cercando di costruire un bot di prova messaggero in PHP. Il mio gancio web diventa configurazione perfettamente e anche la pagina delle iscrizioni è stato fatto correttamente. Tuttavia, il mio bot non risponde a qualsiasi testo in Messenger. Ho provato a cambiare ID applicazione, gli ID di pagina, solo per assicurarsi che, se ci sono problemi con nulla di tutto ciò. Ho anche provato vari metodi tra cui ricciolo di base come descritto qui: Facebook Chat Bot (PHP webhook) l'invio di risposte multiple

e provato 2 differenti librerie PHP: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

Ottengo errori PHP, la sfida è ancora successo alla fine di Facebook. Il mio certificato SSL è bene, ma non riesco a ottenere il rispondono bot.

Qualsiasi aiuto su questo sarà molto apprezzato.

È pubblicato 15/04/2016 alle 21:46
fonte dall'utente
In altre lingue...                            


5 risposte

voti
0

È necessario inviare la risposta da soli quando si è reciving messaggi (vedi documentazione ).

Non come farlo per API PImax, mi dispiace, ma per il mio API si può fare in questo modo:

// Messenger is calling your URL, someone is sending a message...
$messages = $bot->getMessagesReceived();

// Now you need an ID
$userToSendMessage = $messages[0]->messaging[0]->sender->id;

// Send answer
$bot->sendMessage($userToSendMessage, 'Hi!');
Risposto il 15/04/2016 a 22:20
fonte dall'utente

voti
1

Controllare che CURL sia installato correttamente. Provate questo semplice Gist, https://gist.github.com/visitdigital/58c71acb123870d1ac2ec714d7536587

$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];

// Set this Verify Token Value on your Facebook App 
if ($verify_token === 'YOURVERIFYTOKEN') {
  echo $challenge;
}

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

// Get the Senders Graph ID
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];

// Get the returned message
$message = $input['entry'][0]['messaging'][0]['message']['text'];

//API Url and Access Token, generate this token value on your Facebook App Page

$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=ACCESSTOKEN';
//Initiate cURL.
$ch = curl_init($url);
//The JSON data.
$jsonData = '{
    "recipient":{
        "id":"' . $sender . '"
    }, 
    "message":{
        "text":"The message you want to return"
    }
}';

//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, $jsonData);

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

//Execute the request but first check if the message is not empty.
if(!empty($input['entry'][0]['messaging'][0]['message'])){
  $result = curl_exec($ch);
}
Risposto il 25/04/2016 a 13:54
fonte dall'utente

voti
0

Potete controllare le seguenti cose.

  1. Tu sei l'amministratore di quella pagina e si sta inviando un messaggio da un solo account amministratore.
  2. Siete sicuri di ricevere messaggi invia a voi sullo script login questi messaggi in qualche file da controllare?
  3. Sul tuo account pagina non fb darà qualche avviso come la pagina non riceve msg. Se no, allora msg viene inviato con successo a voi problema sta nella risposta.
  4. Assicurarsi che simbolici si è creato quando si crea webhook è posto è corretta.
  5. Avete copiato il token generato.

Anche plz inviare il codice.

Risposto il 18/06/2016 a 19:24
fonte dall'utente

voti
0

Ho avuto lo stesso problema, la risposta è stata che il mio webserver era riorientando la richiesta (è stata aggiunta una barra alla fine della url).

Risposto il 11/09/2016 a 11:14
fonte dall'utente

voti
0

1-verificare che cURL sia correttamente installata nel computer
2-provare a inviarlo manualmente utilizzando questo codice qui sotto nel vostro terminale, assicurarsi di mettere il token di accesso e l'ID del destinatario. Ho hade lo stesso problema, come si .Anche se avevo Curl installato nel mio computer (Windows) non sarebbe inviare la richiesta .quando ho cambiato a Linux ha funzionato bene.
Provaci.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
    "id": "USER_ID"
  },
  "message": {
    "text": "hello, world!"
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"
Risposto il 18/02/2017 a 16:30
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more