web-dev-qa-db-fra.com

API de pages Facebook: revue d'analyse "Page Public Content Access"

Mon site Web utilise l'API de page Facebook pour extraire du contenu public d'une page Facebook, publiée par le propriétaire de la page, afin de créer un blog dynamique avec un lien clair vers la page Facebook.

Vous pouvez le voir ici en action: https://kc-hrubeho.cz (ctrl + F "Facebook"). Le bouton jaune "Načíst další" fonctionne comme une pagination AJAX. Désolé pour la langue tchèque, ce site n'a malheureusement pas de version anglaise.

J'utilise cette URL pour obtenir l'objet JSON du contenu de la page: https://graph.facebook.com/<PAGE-ID>/feed?access_token=<TOKEN>&limit=10&fields=message,link,attachments,created_time,full_picture,picture,timeline_visibility

À l'heure actuelle, il fonctionne , mais La revue de l'application FAQ indique ceci:

Mon application était utilisée pour accéder à du contenu public sur des pages, suis-je concerné par les modifications de la v3.0?

Oui. Les applications qui accèdent au contenu de pages publiques doivent demander la fonctionnalité Page Public Content Access (Accès au contenu public de la page) et doivent être revues par Facebook.

En outre, il y a cet avis:

Afin de conserver votre accès actuel à l'API, votre application devra être soumise à révision avant le 1er août 2018.

J'ai rempli le formulaire pour examen. L'un des éléments requis est "le screencast".

Nous devons voir votre application à l'aide de Page Public Content Access afin de pouvoir constater qu'elle n'enfreint pas nos règles. Téléchargez une procédure d’affichage vidéo en utilisant n’importe quelle méthode (même enregistrez avec votre téléphone). Vous devez montrer:

  1. Comment une personne se connecte avec Facebook
  2. Comment une personne voit cette fonctionnalité utilisée dans votre application

Des instructions plus détaillées sur le screencast indiquent cependant ceci:

Vous n'avez pas besoin de soumettre votre application si elle ne sera utilisée que par vous-même ou par un nombre réduit de personnes. Tous les comptes répertoriés dans l'onglet Rôles de votre tableau de bord d'application, tels que les administrateurs, les développeurs et les testeurs, peuvent accéder à toutes les autorisations et générer un jeton d'accès utilisateur ou page.

Vous pouvez utiliser n'importe lequel de ces comptes pour tester votre application et créer un screencast.

C'est incroyablement déroutant. Mes questions sont:

  1. Si mon code accède à l'API Pages et affiche le résultat sur mon site, est-il "utilisé par un nombre réduit de personnes"?

  2. Si je n'ai pas besoin de créer un screencast, comment puis-je demander une révision? Est-ce que j'en ai même besoin (ce qui signifie "mon jeton fonctionnera-t-il après le 1er août")?

  3. Si je en ai besoin un compte rendu avec un screencast, que devrais-je enregistrer exactement dans mon cas? Devrais-je coudre quelques screencasts de mon code et du site Web sur une seule vidéo? Ça, à mon humble avis, ça sonne juste. :)

  4. Existe-t-il un point final différent dans son ensemble (qui ne nécessiterait pas de révision ou le screencast) que je devrais utiliser, si je devais seulement lire les données de ma propre page?

  5. Mes anciennes applications fonctionnent actuellement (pas sûr du 1er août, voir ci-dessus). Pour les applications ayant le même objectif (juste pour lire le contenu public de la page FB appartenant au propriétaire de l'application) créées après toutes les histoires avec des critiques, y aura-t-il le même principe que pour les anciennes?

Merci d'avance!

Modifier

C’est ce que j’ai entendu du modérateur du groupe de soutien officiel de FB Communauté de développeurs Facebook :

Vous pouvez utiliser une application en mode dev pour récupérer le flux des pages que vous administrez. [...] Je ne sais pas si le 1er août changera le comportement actuel ou si le comportement actuel est même le comportement souhaité. [...] En fait, je n'ai jamais rencontré une personne capable de prédire ce qui se passera dans 90 jours ou plus ... la plupart des experts ne parviennent même pas à prévoir le temps qu'il fera demain;) Sérieusement, je ne sais pas ...

Très frustrant, mais jusqu'à présent, la réponse la plus spécifique que j'ai eue.

34
Petr Cibulka

Si mon code accède à l'API Pages et affiche le résultat sur mon site, est-il "utilisé par [un] nombre de personnes réduit"?

Vous êtes probablement le seul consommateur de l'API dans votre application. Comme il s'agit d'un appel AJAX en arrière-plan et non d'une application basée sur la connexion, la situation "nombre réduit" devrait s'appliquer. 

Si je n'ai pas besoin de créer un screencast, comment puis-je demander une révision? Est-ce que j'en ai même besoin (ce qui signifie "mon jeton fonctionnera-t-il après le 1er août")?

Tant que les rôles de développeur d’application et d’administrateur de page sont partagés, le passage de l’application en mode de développement garantira son fonctionnement. 


"Si votre application est en mode dev, vous devriez pouvoir obtenir des jetons d'accès aux pages avec n'importe quelle autorisation pour quiconque joue un rôle dans votre application. Si vous souhaitez simplement gérer les publications sur votre propre page ou les pages des utilisateurs qui Si vous avez des rôles dans votre application, vous pourrez le faire en mode de développement sans vous soumettre à la révision de l'application. "- Réponse du support développeur Facebook sur https://developers.facebook.com/support/bugs/2029233277148530/ (rapport privé de ma part)


Si j'ai besoin d'une révision avec un screencast, que dois-je enregistrer exactement dans mon cas? Devrais-je assembler quelques screencasts de mon code et du site Web en une seule vidéo? Ça, à mon humble avis, ça sonne juste dingue. :)

Voir précédent.

Existe-t-il un point final différent dans son ensemble (qui ne nécessiterait ni une révision ni le screencast), que je devrais utiliser si je ne devais lire que les données de ma propre page?

L'utilisation du point de terminaison du flux de page (/ PAGE_ID/feed), tout en ayant un utilisateur qui est développeur et qui a un rôle sur la page devrait fonctionner, tant que l'application est en mode développement.

Mes anciennes applications fonctionnent actuellement (pas sûr du 1er août, voir ci-dessus). Pour les applications ayant le même objectif (juste pour lire le contenu public de la page FB appartenant au propriétaire de l'application) créées après de nombreuses critiques, y aura-t-il les mêmes règles que pour les anciennes?

La date limite du 1er août est pour un ensemble spécifique d'autorisations 

  • user_friends 
  • lien_utilisateur 
  • user_gender
  • plage_utilisateur

Cela devrait fonctionner de la même manière car ils ne sont pas nécessaires pour afficher les articles de la page. 

Utilisez un jeton d'utilisateur ou de page avec un accès à manage_pages, car le jeton d'application ne peut pas déterminer si vous avez un rôle sur la page. 

Oui, cela signifie que vous devrez implémenter un moyen d'actualiser le jeton utilisateur ou de vous assurer que le jeton de page étendue ne soit pas invalide en arrière-plan.

HTTP GET /page__id_owned/feed?access_token=APP|TOKEN

Response
#10) To use 'Page Public Content Access'...

HTTP GET /page__id_owned/feed?access_token=access_token_no_manage_pages

Response
#10) To use 'Page Public Content Access'...

HTTP GET /page__id_owned/feed?access_token=access_token_manage_pages

Response
{
  "data": [
    {
      "created_time": "2018...

HTTP GET /page__id_NOT_owned/feed?access_token=access_token_manage_pages

 #10) To use 'Page Public Content Access'...

Le contenu de la page publique n'est pas directement lié à votre cas d'utilisation, c'est-à-dire que vous n'utilisez pas le "contenu de la page publique". Il s’agit d’un scénario dans lequel vous analysez un contenu public en tant que source de données, consultez la section relative à l’utilisation commune à l’adresse https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS .


"Page Public Content Access, en revanche, est une fonction app-level pour un accès en lecture seule à des données publiques anonymisées, notamment des métadonnées professionnelles, des commentaires publics, des publications et des critiques destinées au public. page (n'appartient à aucun développeur de votre application) . https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS "- Réponse de Facebook Developer Support at https://developers.facebook.com/support/bugs/2029233277148530/ (rapport privé de moi)}


19
phwd

Après beaucoup de difficultés avec le support direct de FB et/ FB Dev Community Group j’ai trouvé un moyen d’obtenir mes publications publiques sur FB Page sans avoir le fameux Page Public Content Access pour lequel je devais créer un screencasts avec des comparaisons de deux pages différentes ?!).

Donc, en quelques étapes simples:

  1. Obtenez votre jeton d'accès utilisateur pour l'application souhaitée de cet outil de Nice FB
  2. Créez un jeton d'accès à la page comme décrit dans Documentation des jetons d'accès à la page . Mais veillez à ne pas ignorer la partie ... using the access token .... Cela signifie que votre demande devrait ressembler à GET /{page-id}?fields=access_token&access_token=USER_ACCESS_TOKEN_FROM_STEP_1
  3. Ensuite, utilisez Access Token Debugger pour déboguer votre tout nouveau jeton d’accès aux pages qui expirera dans une heure. En bas, vous verrez le bouton bleu disant Extend Access Token. Frappez cela et voilà - le jamais expiré Jeton d'accès à la page
  4. Utilisez-le pour obtenir les publications publiques de la page Facebook sur FB GRAPH /page-id/posts?access_token=PAGE_ACCESS_TOKEN
2
Mladen Janjetovic

Pour votre information, si vous avez dépassé le bloqueur de screencast, vous devez toujours passer par la vérification des activités. Si vous avez passé cela, je ne sais pas quoi d'autre vous devez vaincre pour effacer le gant de la révision des applications.

Étape 2 de l'examen des applications - Vérification de l'entreprise requise La révision des autorisations et des fonctionnalités est terminée. Ensuite, nous vérifierons votre entreprise.

Pour ce faire, vous devrez peut-être fournir une documentation telle qu'une entreprise licence ou facture de services publics.

0
don_t