À l'aide de la dernière version (2.12) de l'API Facebook, j'essaie d'obtenir des événements (publics) pour une page à l'aide de l'explorateur d'API graphique.
Cependant, je n'arrive pas à le faire fonctionner:
Lorsque je survole le «identifiant» ou le «nom» grisé à gauche, le message «Le champ est vide ou n'est pas autorisé par le jeton d'accès».
Maintenant, la page que j’utilise comme exemple ici est Techcrunch, et de nombreux événements sont à venir. Donc, "vide" ne semble pas être le problème.
Du côté "non autorisé", j'ai vérifié la référence de l'API et https://developers.facebook.com/docs/graph-api/reference/page/events/ .
Cependant, je ne semble pas trouver de problème ici non plus. "La lecture des événements de page nécessite un jeton d'accès à la page valide ou un jeton d'accès à l'utilisateur avec des autorisations de base".
Qu'est-ce que j'oublie ici? Tous les indices sont grandement appréciés!
Visitez https://developers.facebook.com/docs/graph-api/changelog/breaking-changes#pages-4-4
Actuellement, Facebook ne renvoie pas d'événements pour les pages à l'aide de l'API Pages, sauf si vous utilisez un jeton d'accès utilisateur et que cet utilisateur a été invité à l'un des événements de la page ou s'il est intéressé/intéressé par l'un des événements de la page.
Comme unknow_b l'a dit:
actuellement, pour accéder aux événements, vous pouvez également utiliser un point de terminaison utilisateur tel que "/ me/events" ou "/ me/events/not-reply" à l’aide d’un jeton d’accès valide pour cet utilisateur. vous pouvez obtenir les événements auxquels l'utilisateur a été invité ou qui vont/sont intéressés
Mais l'utilisateur de jeton d'accès, ne travaille que pendant 1 heure! Quelqu'un a-t-il une autre meilleure idée?
J'essaie de faire la même chose: obtenir des événements publics à partir d'une page. Relatif aux suggestions ci-dessus:
Sur https://developers.facebook.com/docs/apps/review/#platforms , Facebook indique:
À compter du 4 avril 2018, toutes les applications, y compris celles précédemment approuvées, doivent subir une vérification d'application pour pouvoir accéder à l'API des événements}, API des groupes et des pages. Les applications accédant à l'API d'événements et à l'API de groupes perdront leur accès et devront être révisées une fois que la révision des applications reprendra.
Donc, être examiné pourrait aider. Je ferai un rapport plus loin.
Update 1: une réponse sur ce bogue lié reports l'indique plus clairement:
Examen de l'application requis pour utiliser les bords suivants: GET/page/events et GET/me/events
En attendant, ils ont annulé toutes les demandes de révision en attente pour les modifications de Graph API 3.0. Je dois donc soumettre à nouveau.
_ {Mise à jour 2} _: Mon projet a été rejeté et je ne me préoccupe pas de le poursuivre maintenant.
Oui. Facebook a supprimé l'API Graph pour les jetons d'accès aux pages. Je produisais ce code depuis 2 ans et cela fonctionnait très bien. Le seul moyen de récupérer des données (ou il y a une semaine environ) consistait en un jeton d'utilisateur temporaire d'une durée d'environ 2 heures. C'est totalement cassé la page de calendrier de mon groupe. J'ai parcouru tous les chemins et j'ai même parlé au téléphone avec un employé de l'équipe publicitaire de Facebook qui était au courant. Elle semblait avoir de l'empathie mais n'avait pas de solution pour moi. Je compte sur elle pendant un certain temps.
C'est évidemment Zuckerberg qui montre combien il peut être après les audiences du Sénat.
Vient de paraître. Je n'ai pas eu le temps de jeter un coup d'oeil pour voir si cela résout réellement quelque chose.
J'ai enfin trouvé un moyen de contourner ce problème. Sur votre application fb, vous devez désactiver l'exigence de clé secrète. Cela se trouve dans les paramètres avancés de votre console d’application fb. Cela s'appelle "Require App Secret".
Une fois que vous avez généré un jeton d’accès à fb PAGE, vous obtenez un jeton de page fb, puis vous l’étendez. voici le débogueur de jeton: https://developers.facebook.com/tools/Explorer/
Vous pouvez étendre le jeton d'accès par programme, comme expliqué ici: https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension
ET
https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens
OR
Il existe également un outil d’extension dans le débogueur de jetons d’accès (il suffit de cliquer sur le débogage et le bouton d’extension est en bas à gauche): https://developers.facebook.com/tools/accesstoken/