Messenger Bot i PHP: Ingen svar tilbake

stemmer
2

Jeg prøver å bygge en test messenger bot i PHP. Min web hook får setup opp perfekt og selv abonnementssiden er gjort riktig. Men min bot ikke svare på noen tekst i messenger. Jeg har prøvd å endre app-ID, side IDer, bare for å være sikker på om det er problemer med noe av det. Jeg har også prøvd ulike metoder, inkludert grunnleggende curl som beskrevet her: Facebook Chat bot (PHP webhook) sende flere svar

og prøvd 2 forskjellige php biblioteker: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

Jeg får ingen PHP feil, utfordringen er fortsatt vellykket på Facebook slutt. Min SSL-sertifikat er greit, men jeg klarer ikke å få bot svare.

Alle hjelpe på dette vil bli verdsatt.

Publisert på 15/04/2016 klokken 21:46
kilden bruker
På andre språk...                            


5 svar

stemmer
0

Du må sende svar av deg selv når du er reciving meldinger (se dokumentasjon ).

Jeg vet ikke hvordan du gjør det for pimax API, beklager, men for min API du kan gjøre det på denne måten:

// 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!');
Svarte 15/04/2016 kl. 22:20
kilden bruker

stemmer
1

Sjekk at CURL er riktig installert. Prøv denne enkle 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);
}
Svarte 25/04/2016 kl. 13:54
kilden bruker

stemmer
0

Kan du sjekke følgende ting.

  1. Du er administrator av siden, og du sender melding fra administratorkontoen bare.
  2. Får du meldinger sender av deg på manuset logge disse meldingene i noen fil for å sjekke?
  3. På side kontoen gjør fb gi deg noen advarsel som siden din ikke er meldingsmottak. Hvis ikke, så msg er sendt til deg problemet ligger i svaret.
  4. Pass på at token du opprettet når du oppretter webhook er plassert er riktig.
  5. Har du kopierte den genererte token.

Også plz sende koden din.

Svarte 18/06/2016 kl. 19:24
kilden bruker

stemmer
0

Jeg hadde det samme problemet, svaret var at min webserver ble omdirigere forespørsel (var å legge en skråstrek på slutten av url).

Svarte 11/09/2016 kl. 11:14
kilden bruker

stemmer
0

1-kontrollere at cURL er riktig installert i maskinen
to-prøve å sende den manuelt ved hjelp av denne koden nedenfor i din terminal, sørge for å sette tilgangstoken og mottakerens id. jeg hade det samme problemet som du .Selv om jeg hadde curl installert på Min datamaskin (Windows) ville ikke sende forespørselen .Når jeg byttet til Linux det fungerte helt fint.
Gi det et forsøk.

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"
Svarte 18/02/2017 kl. 16:30
kilden bruker

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