Ce document explique comment effectuer les tâches suivantes pour une Page Facebook :
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
publish_video
si vous publiez une vidéo sur la PageSi 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.
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.
Un seul appel d’API peut vous fournir beaucoup d’informations concernant les Pages sur lesquelles vous pouvez effectuer une tâche.
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.
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 :
{ "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" ] }, ... ] }
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
.
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.
{ "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" ] }, ... ], }
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.
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
.
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.
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
).
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
.
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 :
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
.
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.
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
.
{ "data": [ { "setting": "USERS_CAN_POST", "value": false }, { "setting": "USERS_CAN_MESSAGE", "value": true }, { "setting": "USERS_CAN_POST_PHOTOS", "value": true }, ... ] }
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
.
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
.
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
.
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.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" } }, ... ] }
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.
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 }
Apprenez à publier des liens, des photos et des vidéos sur votre Page.