wake-up-neo.net

Facebook Messenger API: Probleme beim Einrichten eines Webhooks

Ich versuche, auf meinem PHP Webserver einen Web-Hook für die neue Facebook Messenger-Bot-Plattform einzurichten und erhalte folgende Fehlermeldung:

Die URL konnte nicht überprüft werden. Die Antwort entspricht nicht der Herausforderung erwarteter Wert = '364011207', empfangen = '

Ressourcen

https://developers.facebook.com/docs/messenger-platform/quickstart

https://developers.facebook.com/docs/messenger-platform/webhook-reference#common_format

Jede Hilfe wird sehr geschätzt.

14
Shane

Ich habe eine Lösung gefunden. Ich habe meinen js-Versuch verworfen und eine neue PHP-Datei mit folgendem Code erstellt:

<?php

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

if ($verify_token === 'my_token_code') {
echo $challenge;
}

Ich habe diesen Code aus den ersten 10 Minuten dieses Videos erhalten: https://www.facebook.com/marketingdevelopers/videos/883648801749520/

21
Shane

Dieser Code ist node.js -Code und sollte auf dem Server nicht in einem <script>-Tag in Ihrem HTML-Code ausgeführt werden.

Hier können Sie den Messenger-Bot mit node.js auf einfache Weise einrichten: https://github.com/voronianski/simon-le-bottle

Im Wesentlichen müssen Sie sicherstellen, dass Sie über einen Host verfügen, der node.js-Anwendungen unterstützt, und diesen als solchen ausführen. Es funktioniert nicht in HTML.

6
Jamund Ferguson

Ich habe dieses Problem soeben gelöst, dass in der Rückruf-URL '/ webhook' hinzugefügt wurde.

4
Zernel

@schan

webhook: function(req, res) {

   if (req.query['hub.verify_token'] === 'tokentoken') {
      res.send(req.query['hub.challenge']);
   } else {
      res.send('Error, wrong validation token');    
   }
}

Notieren Sie sich, was genau Sie tun. aber das ist was ich getan habe und es funktioniert.

Ich habe den Ngrok-Server getestet, da ich keinen Domänennamen habe und die Rückruf-URL https://werwrwetwtw.ngrok.io/webhook ist.

Hoffe das hilft!

3
Natraj

Wenn Sie dies als Node.js-Anwendung ausführen und Sie aus der in der Frage erwähnten The Facebook Quickstart Guide kommen, müssen Sie die Webhook-URL auf [your-server-root]/webhook verweisen. Beachten Sie diesen Teil von des Tutorials :

// Adds support for GET requests to our webhook
app.get('/webhook', (req, res) => {
    ...
    // Responds with the challenge token from the request
    res.status(200).send(challenge);
});
2
che-azeh

Nicht sicher, ob diese Hilfe, aber die Abfrageparameter, die der FB sendet, sind mit Unterstrich gekennzeichnet, z. :

  • hub_verify_token 
  • hub_mode 
  • hub_challenge

P.S. 

Sorry, das ist gültig für PHP 

2
Stan Kolev