En este documento, se explica cómo realizar las siguientes tareas para una página de Facebook:
En esta guía, se asume que leíste la información general de la API de páginas.
En relación con una persona que puede realizar tareas en la página, es necesario que implementes el inicio de sesión con Facebook para solicitar los siguientes permisos y recibir un token de acceso a la página o de usuario:
pages_manage_engagement
pages_manage_metadata
pages_manage_posts
pages_read_engagement
pages_read_user_engagement
pages_show_list
publish_video
si publicas un video en la páginaSi utilizas un usuario del sistema comercial en tus solicitudes a la API, es necesario que cuentes con el permiso business_management
.
El usuario de tu app debe poder realizar las tareas CREATE_CONTENT
, MANAGE
y/o MODERATE
de la página en las solicitudes de la API.
Al probar una llamada a la API, puedes incluir el parámetro access_token
configurado en tu token de acceso. Sin embargo, para hacer llamadas seguras desde tu app, usa la clase de token de acceso.
Con una sola llamada API puedes obtener mucha información sobre las páginas en las que puedes realizar una tarea.
Para obtener una lista de todas las páginas en las que puedes realizar tareas, las tareas que puedes realizar en cada página y un token de acceso de corta duración para cada página, envía una solicitud GET
al punto de conexión /user_id/accounts
usando un token de acceso de usuario.
curl -i -X GET "https://graph.facebook.com/user_id/accounts"
Si la operación se procesa correctamente, tu app recibirá una respuesta JSON con una matriz de objetos de página. Cada objeto de página contiene lo siguiente:
{ "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 puedes realizar la tarea MANAGE
en la página, puedes obtener una lista de otras personas que pueden realizar tareas en esa página, incluidas las tareas que cada persona puede realizar.
Para obtener una lista de personas y las tareas que pueden realizar en la página, envía una solicitud GET
al punto de conexión /page_id/roles
.
curl -i -X GET "https://graph.facebook.com/page_id/roles"
Si la solicitud se procesa correctamente, tu app recibirá una respuesta JSON con el nombre de la persona, su identificador específico de la página y las tareas que cada persona puede realizar en una página.
{ "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 puedes realizar la tarea MANAGE
en la página, puedes usar un token de acceso a la página o, si tu app cuenta con la aprobación para usar la función de acceso al contenido público de la página, puedes usar un token de acceso de usuario para ver los detalles de una página, como la información general, el correo electrónico, los horarios de operación, etc.
Para obtener los detalles de una página, envía una solicitud GET
al punto de conexión /page_id
con el parámetro fields
configurado en los detalles de la página que deseas ver.
Nota: Puedes usar el punto de conexión /pages/search
para encontrar identificadores de la página cuando usas la función de acceso al contenido público de la página.
curl -i -X GET "https://graph.facebook.com/page_id \ ?fields=about,attire,bio,location,parking,hours,emails,website"
Si la operación se procesa correctamente, la app recibirá una respuesta JSON con el valor de los campos que solicitaste. Si no se muestra un campo en la respuesta, significa que la página no tiene ese valor configurado. Por ejemplo, si la página no tiene definido el campo attire
, este campo no aparecerá en la respuesta.
Si puedes realizar la tarea MANAGE
en la página, puedes utilizar un token de acceso a la página para enviar una solicitud POST
al punto de conexión /page_id
con los parámetros que deseas actualizar, como 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 operación se procesa correctamente, tu app recibirá una respuesta JSON con success
configurado en true
.
En algunas ocasiones, Meta propondrá cambios en los detalles de tu página, como corregir un error tipográfico o actualizar las categorías de la página para ayudar a las personas a encontrar tu página de manera más efectiva. Para recibir estas notificaciones, debes estar suscrito a los webhooks page_upcoming_change
y/o page_change_proposal
.
Una vez que recibas la notificación, tienes las dos siguientes opciones:
Para aceptar o rechazar un cambio propuesto de manera activa, envía una solicitud POST
al punto de conexión /page_change_proposal_id
con el campo accept
configurado en true
para aceptar el cambio o en false
para rechazarlo. El page_change_proposal_id
es el valor de proposal.id
que recibiste en la notificación de webhook page_upcoming_change
o el valor de value.id
que recibiste en la notificación 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 operación se procesa correctamente, tu app recibirá una respuesta JSON con success
configurado en true
.
Si puedes realizar la tarea MANAGE
en la página, puedes utilizar un token de acceso a la página para enviar una solicitud GET
al punto de conexión /page_id/settings
para obtener una lista de todas las configuraciones de esa página.
curl -i -X GET "https://graph.facebook.com/v21.0
/page_id/settings"
Si la operación se procesa correctamente, tu app recibirá una respuesta JSON con una matriz de objetos, donde cada objeto tiene el campo setting
configurado en una configuración de la página y el campo value configurado en true
o en false
.
{ "data": [ { "setting": "USERS_CAN_POST", "value": false }, { "setting": "USERS_CAN_MESSAGE", "value": true }, { "setting": "USERS_CAN_POST_PHOTOS", "value": true }, ... ] }
Para actualizar las configuraciones de una página, envía una solicitud POST
al punto de conexión /page_id/settings
donde el valor del parámetro option
sea la configuración que deseas actualizar.
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 operación se procesa correctamente, tu app recibirá una respuesta JSON con success
configurado en true
.
Puedes consultar las opiniones de una página, incluido el nombre del autor, su identificador específico de la página, si se trata de una recomendación positiva o negativa, y el texto de la opinión. Para hacerlo, envía una solicitud GET
al punto de conexión /page_id/ratings
.
curl -i -X GET "https://graph.facebook.com/page_id/ratings"
Si la operación se completa correctamente, la app recibirá una matriz JSON con los objetos de opinión. Cada objeto contiene lo siguiente:
created_time
configurado en la hora en que se creó la opinión, recommendation_type
configurado en positive
o negative
review_text
configurado en el contenido de la opiniónreviewer
con el name
y id
de la persona que escribió la opinión{ "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" } }, ... ] }
Para bloquear a una persona y evitar que deje comentarios en una página, envía una solicitud POST
al punto de conexión /page_id/blocked
con el parámetro user
configurado en el identificador específico de la página de la persona que deseas bloquear.
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 operación se procesa correctamente, tu app recibirá una respuesta JSON con el identificador específico de la página configurado en true
.
{ "psid_to_block": true }
Obtén información sobre cómo publicar enlaces, fotos y videos en tu página.