web-dev-qa-db-fra.com

Qu'est-ce que l'URL de rappel dans l'abonnement à une page Webhook Facebook?

J'essaie de diffuser les flux publics en temps réel à l'aide de l'API Facebook Web-hook. Ici, j'essaie de configurer un abonnement de page dans la console Web-hook. Il existe un champ appelé URL de rappel. De quoi parle cette URL?

J'ai également essayé de consulter la documentation relative à la configuration d'une URL de rappel. mais je ne pouvais pas comprendre. 

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

L'URL de rappel ne peut-elle pas être l'hôte local SSL? Chaque fois que j'essaie de donner une URL d'hôte local, je reçois un message d'erreur "Impossible de vérifier l'URL fournie". 

11

Facebook va demander à cette adresse URL à partir de leurs serveurs pour fournir les mises à jour. Il doit donc bien sûr être accessible publiquement sur Internet, ce qu’une adresse hôte local ne permet évidemment pas.

Facebook enverra une demande à cette URL s'il y a des données pour l'objet et les champs auxquels vous vous êtes abonné pour des modifications. Et à quoi ressemble la structure de données, est décrite dans la documentation. Pour les champs de page, il renvoie directement le nouveau contenu. pour les champs utilisateur, il vous indiquera uniquement quels champs ont été modifiés, afin que vous puissiez ensuite faire une demande pour ces données.

Vous ne pouvez obtenir des mises à jour en temps réel que pour les pages auxquelles vous avez un accès administrateur. Et l'API de flux public n'est pas obsolète; mais son accès est limité à un petit groupe de partenaires Facebook. Vous ne pouvez pas postuler pour en devenir un. Si vous avez absolument besoin de ce type de données, vous devrez contacter l'un de ces partenaires et lui demander de vous proposer une solution.

3
CBroe

Vous pouvez transférer la demande à localhost avec les éléments suivants:

  1. Téléchargez et installez ngrok à partir de https://ngrok.com/download
  2. ./ngrok http 8445
  3. Abonnez votre page aux Webhooks en utilisant verify_token et https://<your_ngrok_io>/webhook comme URL de rappel.
  4. Parlez à votre bot sur Messenger!
22
Phil Hudson

Vous devez écrire un Webhook pour que la requête fb du serveur fb soit également exécutée dans une adresse IP publique. Cette URL publique est celle qui doit être renseignée dans la zone de rappel. Pour que le serveur fb puisse vous mettre à jour via l’url qui n’est que l’url de webhook en cours d’exécution. Pour obtenir l'adresse URL publique de fb reconnaissant votre compte Webhook, vous pouvez utiliser ngrok ou héberger votre site Web à heroku.

0
udayakumar P

Je pense que cela signifie que vous avez besoin d’un serveur disposant d’une adresse IP fixe. Si vous souhaitez utiliser la mise à jour en temps réel de Facebook, vous devez créer un serveur qui reçoit la demande de publication de Facebook tout en conservant une longue connexion avec votre point de terminaison afin que celui-ci puisse recevoir un message envoyé par le serveur. 

0
Jason