Gérer une Page

Ce document explique comment effectuer les tâches suivantes pour une Page Facebook :

  • Obtenir la liste des Pages pour lesquelles vous pouvez effectuer des tâches, y compris :
    • La liste des tâches réalisables sur chaque Page
    • Le token d’accès de chaque Page permettant de tester les appels d’API
  • Récupérer et mettre à jour les détails concernant une Page
  • Récupérer et mettre à jour les paramètres d’une Page
  • Recevoir des notifications sur les suggestions de modifications que Meta apportera à une Page
    • Accepter ou rejeter ces suggestions de modifications
  • Récupérer les avis relatifs à une Page
  • Bloquer un utilisateur·ou une utilisatrice sur une Page

Avant de commencer

Ce guide part du principe que vous avez lu la présentation de l’API Pages.

Afin d’effectuer des tâches sur la Page, vous devrez implémenter Facebook Login pour demander les autorisations suivantes et recevoir un token d’accès de Page ou d’utilisateur·ice :

  • pages_manage_engagement
  • pages_manage_metadata
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • pages_show_list
  • Autorisation publish_video si vous publiez une vidéo sur la Page

Si vous utilisez un utilisateur système d’entreprise dans vos requêtes API, l’autorisation business_management est requise.

Les utilisateurs ou utilisatrices de votre application doivent pouvoir effectuer les tâches CREATE_CONTENT, MANAGE et/ou MODERATE sur la Page dans les requêtes API.

Recommandations

Lorsque vous testez un appel d’API, vous pouvez inclure le paramètre access_token, défini sur votre token d’accès. En revanche, lorsque vous effectuez des appels sécurisés depuis votre application, utilisez la classe de token d’accès.

Les exemples de requêtes ont été mis en forme pour plus de lisibilité. Remplacez les valeurs en gras et en italique, comme page_id, par vos propres valeurs.

Pages, tâches et tokens

Un seul appel d’API peut vous fournir beaucoup d’informations concernant les Pages sur lesquelles vous pouvez effectuer une tâche.

Obtenir la liste de vos Pages

Pour obtenir la liste de toutes les Pages sur lesquelles vous pouvez effectuer des tâches, la liste des tâches réalisables sur chaque Page ainsi qu’un token d’accès de courte durée pour chaque Page, envoyez une requête GET au point de terminaison /user_id/accounts en utilisant un token d’accès utilisateur·ice.

Exemple de requête

curl -i -X GET 
     "https://graph.facebook.com/user_id/accounts"

Si la requête aboutit, votre application reçoit une réponse JSON avec un tableau d’objets de Page. Chaque objet de Page contient les informations suivantes :

  • Nom de la Page
  • ID de la Page
  • Nom et ID de la catégorie associée à la Page
  • Token d’accès de Page de courte durée
  • Toutes les tâches que l’utilisateur·ice peut effectuer sur la Page

Exemple de réponse

{
  "data": [
    {
      "access_token": "{facebook-for-developers-page-access-token}",
      "category": "Internet Company",
      "category_list": [
        {
          "id": "2256",
          "name": "Internet Company"
        }
      ],
      "name": "Facebook for Developers",
      "id": "{facebook-for-developers-page-id}",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT"
      ]
    },
    {
      "access_token": "{my-outlandish-stories-page-access-token}",
      "category": "Blogger",
      "category_list": [
        {
          "id": "361282040719868",
          "name": "Blogger"
        }
      ],
      "name": "My Outlandish Stories",
      "id": "{my-outlandish-stories-page-id}",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    },
...
  ]
}

Obtenir la liste des tâches associées à d’autres utilisateur·ices

Si vous pouvez effectuer la tâche MANAGE sur la Page, vous pouvez obtenir la liste des autres utilisateur·ices qui peuvent réaliser des tâches sur cette Page, ainsi que les tâches que chacun·e peut accomplir.

Pour obtenir la liste des utilisateur·ices et des tâches qu’ils ou elles peuvent effectuer sur la Page, envoyez une requête GET au point de terminaison /page_id/roles.

Exemple de requête

curl -i -X GET "https://graph.facebook.com/page_id/roles"

Si la requête aboutit, votre application reçoit une réponse JSON avec le nom des utilisateurs et utilisatrices, leur ID de Page et la liste des tâches que chacun·e peut effectuer sur une Page.

Exemple de réponse

{
  "data": [
    {
      "name": "Person One",
      "id": "page_scoped_id_for_one"
        "tasks": [
          "ANALYZE"
        ]
    },
    {
      "name": "Person Two",
      "id": "page_scoped_id_for_two",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    },
...
  ],
}

Détails de Page

Si vous pouvez effectuer la tâche MANAGE sur une Page, vous pouvez utiliser un token d’accès de Page pour voir les détails la concernant (informations sous À propos, adresse e-mail et horaires d’ouverture, par exemple). Ces détails sont également accessibles à l’aide d’un token d’accès utilisateur·ice si votre application est autorisée à utiliser la fonctionnalité Accès au contenu public de la Page.

Obtenir des détails

Pour obtenir des détails concernant une Page, envoyez une requête GET au point de terminaison /page_id, en précisant dans le paramètre fields les informations que vous souhaitez voir.

Remarque : avec la fonctionnalité Accès au contenu public de la Page, il est possible de rechercher des ID de Page à l’aide du point de terminaison /pages/search.

Exemple de requête

curl -i -X GET "https://graph.facebook.com/page_id \
     ?fields=about,attire,bio,location,parking,hours,emails,website"

Si la requête aboutit, votre application reçoit une réponse JSON contenant les valeurs des champs demandés. Si un champ ne figure pas dans la réponse, cela signifie que cette valeur n’a pas été définie pour la Page. Par exemple, si le champ attire n’est pas défini pour la Page, il ne figurera pas dans la réponse.

Mettre à jour les détails

Si vous pouvez effectuer la tâche MANAGE sur la Page, vous pouvez utiliser un token d’accès de Page pour envoyer une requête POST au point de terminaison /page_id, en précisant les paramètres à mettre à jour (par exemple, about).

Exemple de requête

curl -i -X POST "https://graph.facebook.com/v21.0/page_id" \
     -H "Content-Type: application/json" \
     -d '{
           "about":"This is an awesome cafe located downtown!",
         }'

Si la requête aboutit, votre application reçoit une réponse JSON dans laquelle success est défini sur true.

Modifications proposées par Meta

Meta peut suggérer des modifications à apporter aux détails de votre Page, comme la correction d’une faute de frappe ou la mise à jour des catégories sur votre Page afin que les internautes la trouvent plus facilement. Pour recevoir ces notifications, vous devez être abonné·e au webhook page_upcoming_change et/ou page_change_proposal.

Après réception de la notification, vous pouvez réaliser l’une des actions suivantes :

  • Ne rien faire : les modifications prendront effet à la date indiquée dans la notification.
  • Accepter les modifications : celles-ci prennent effet immédiatement.
  • Rejeter les modifications : aucune modification n’est apportée.

Accepter ou rejeter une suggestion de modification

Pour accepter ou rejeter une suggestion de modification, envoyez une requête POST au point de terminaison /page_change_proposal_id en définissant le champ accept sur true pour l’accepter ou sur false pour la rejeter. Le paramètre page_change_proposal_id correspond à la valeur proposal.id que vous avez reçue dans la notification de webhook page_upcoming_change ou à la valeur value.id reçue dans la notification de webhook page_change_proposal.

curl -i -X POST "https://graph.facebook.com/v21.0/page_change_proposal_id" \
     -H "Content-Type: application/json" \
     -d '{
           "accept":"true",
         }'

Si la requête aboutit, votre application reçoit une réponse JSON dans laquelle success est défini sur true.

Paramètres de Page

Si vous pouvez effectuer la tâche MANAGE sur la Page, vous pouvez utiliser un token d’accès de Page pour envoyer une requête GET au point de terminaison /page_id/settings afin d’obtenir la liste de tous les paramètres de cette Page.

Exemple de requête

curl -i -X GET "https://graph.facebook.com/v21.0/page_id/settings"

Si la requête aboutit, votre application reçoit une réponse JSON avec un tableau d’objets, chaque objet setting correspondant à un paramètre de Page défini sur la valeur true ou false.

Exemple de réponse

{
  "data": [
    {
      "setting": "USERS_CAN_POST",
      "value": false
    },
    {
      "setting": "USERS_CAN_MESSAGE",
      "value": true
    },
    {
      "setting": "USERS_CAN_POST_PHOTOS",
      "value": true
    },
    ...
  ]
}

Mettre à jour un paramètre

Pour mettre à jour les paramètres d’une Page, envoyez une requête POST au point de terminaison /page_id/settings, en précisant le paramètre à modifier dans option.

Exemple de requête

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/settings" \
     -H "Content-Type: application/json" \
     -d '{
           "option":{"USERS_CAN_MESSAGE": "true"},
         }'

Si la requête aboutit, votre application reçoit une réponse JSON dans laquelle success est défini sur true.

Récupérer les avis

Vous pouvez récupérer les avis concernant une Page, y compris le nom de leur auteur·ice, s’il s’agit d’une recommandation positive ou négative, et le texte de l’avis. Pour ce faire, envoyez une requête GET au point de terminaison /page_id/ratings.

Exemple de requête

curl -i -X GET "https://graph.facebook.com/page_id/ratings" 

Si la requête aboutit, votre application reçoit un tableau JSON des objets d’avis. Chaque objet contient les informations suivantes :

  • created_time : date et heure auxquelles l’avis a été laissé.
  • recommendation_type : type de recommandation (positive ou negative).
  • review_text : texte de l’avis.
  • Un objet reviewer avec le nom (name) et l’ID (id) de l’auteur·ice de l’avis.
{
  "data": [
    {
      "created_time": "unixtimestamp",
      "recommendation_type": "positive",
      "review_text": "I love this page!",
      "reviewer": {
        "name": "Person One",
        "id": "psid_for_one"
      }
    },
    {
      "created_time": "unixtimestamp",
      "recommendation_type": "positive",
      "review_text": "This page is wonderful!",
      "reviewer": {
        "name": "Person Two",
        "id": "psid_for_two"
      }
    },
...
  ]
}

Bloquer un utilisateur ou une utilisatrice

Pour empêcher un utilisateur ou une utilisatrice d’ajouter des commentaires sur une Page, envoyez une requête POST au point de terminaison /page_id/blocked, en précisant dans user l’ID de Page associé à l’utilisateur·ice concerné·e.

Exemple de requête

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/blocked"
     -H "Content-Type: application/json" \
     -d '{
           "user":"psid_to_block",
         }'

Si la requête aboutit, votre application reçoit une réponse JSON dans laquelle l’ID de Page est défini sur true.

{
 "psid_to_block": true
}