it-swarm.com.de

Was ist die Callback-URL im Abonnement der Facebook-Webhook-Seite?

Ich versuche, die öffentlichen Echtzeit-Feeds mithilfe der Facebook-Web-Hook-API zu streamen. Hier versuche ich, ein Seitenabonnement in der Web-Hook-Konsole einzurichten. Es gibt ein Feld namens Callback-URL. Worum geht es bei dieser URL?

Ich habe auch versucht, die Dokumentation zum Einrichten der Rückruf-URL durchzulesen. aber ich konnte es nicht verstehen. 

https://developers.facebook.com/docs/graph-api/webhooks#setup

Kann die Callback-URL nicht SSL localhost sein? Immer wenn ich versuche, eine localhost-URL anzugeben, wird die Fehlermeldung "Die angegebene URL kann nicht überprüft werden" angezeigt. 

Facebook fordert von diesen Servern eine Anfrage an diese URL auf, um die Aktualisierungen bereitzustellen. Daher muss es natürlich öffentlich über das Internet erreichbar sein, was bei einer localhost-Adresse offensichtlich nicht der Fall ist.

Facebook sendet eine Anfrage an diese URL, wenn sich Daten zu dem Objekt und den Feldern, die Sie abonniert haben, ändern. Und wie die Datenstruktur aussieht, ist in den Dokumenten beschrieben. Bei Seitenfeldern wird der neue Inhalt direkt zurückgegeben. Bei Benutzerfeldern erfahren Sie nur, welche Felder sich geändert haben, sodass Sie dann eine Anfrage für diese Daten stellen können.

Sie können Echtzeit-Updates nur für Seiten erhalten, auf die Sie Administratorzugriff haben. Die Public-Feed-API ist nicht veraltet. Der Zugriff darauf ist jedoch auf wenige Facebook-Partner beschränkt. Sie können nicht beantragen, einer zu werden. Wenn Sie diese Art von Daten unbedingt benötigen, müssen Sie sich an einen dieser Partner wenden und eine Lösung für Sie entwickeln.

3
CBroe

Sie können die Anfrage mit folgendem Befehl an localhost weiterleiten:

  1. Laden Sie ngrok von https://ngrok.com/download herunter und installieren Sie es.
  2. ./ngrok http 8445
  3. Abonnieren Sie Ihre Seite bei den Webhooks mithilfe von verify_token und https://<your_ngrok_io>/webhook als Rückruf-URL.
  4. Sprich mit deinem Bot über Messenger!
22
Phil Hudson

Sie müssen einen Webhook schreiben, um die fb-Anforderung vom fb-Server zu erhalten, und der Webhook sollte in einer öffentlichen IP-Adresse ausgeführt werden. Diese öffentliche URL ist diejenige, die in der Callback-URL-Box ausgefüllt werden muss. Damit der fb-Server Sie über die URL aktualisieren kann, ist dies nichts anderes als die URL des ausgeführten Webhooks. Um die öffentliche URL-Adresse für die Erkennung des Webhooks durch fb zu erhalten, können Sie ngrok verwenden oder Ihr Webook in Heroku hosten.

0
udayakumar P

Ich denke es bedeutet, dass Sie einen Server benötigen, der eine feste IP-Adresse hat. Wenn Sie das Echtzeit-Update von Facebook verwenden möchten, müssen Sie einen Server erstellen, der die Post-Anfrage von Facebook erhält und in der Zwischenzeit eine lange Verbindung zu Ihrem Endpunkt aufrechterhalten, damit der Endpunkt eine vom Server übertragene Nachricht empfangen kann. 

0
Jason