Publicaciones

En esta guía se explica cómo crear, realizar y actualizar una publicación, responder a una publicación de tu página de Facebook como la página y eliminar una publicación con la API de páginas de Meta.

Antes de empezar

This guide assumes you have read the Overview

For a person who can perform tasks on the page, you will need to implement Facebook Login to ask for the following permissions and receive a Page access token:

  • pages_manage_engagement
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • publish_video permission, if you are publishing a video to the Page

Your app user must be able to perform the CREATE_CONTENT, MANAGE, and MODERATE tasks on the Page in the API requests.

If your app users do not own or manage the Page in the API requests, your app will need a User access token and the following features:

  • Page Public Content Access

Prácticas recomendadas

Al probar una llamada a la API, puedes incluir el parámetro access_token establecido en el identificador de acceso. Sin embargo, al realizar llamadas seguras desde la aplicación, debes usar la clase de identificador de acceso.

Realizar publicaciones

Para realizar una publicación en una página, envía una solicitud POST al extremo /page_id/feed en la que page_id sea el identificador de la página, con los siguientes parámetros:

  • message establecido en el texto de la publicación.
  • link establecido en la URL si quieres publicar un enlace.
  • published establecido en true para realizar la publicación inmediatamente (valor predeterminado) o false para realizarla más tarde.
    • Incluye scheduled_publish_time si se establece en false con la fecha en uno de los siguientes formatos:
      • Una marca de tiempo UNIX entera [en segundos] (p. ej., 1530432000)
      • Una cadena de marca de tiempo según la norma ISO 8061 (p. ej., 2018-09-01T10:15:30+01:00)
      • Cualquier cadena que pueda analizar el strtotime() de PHP (p. ej., +2 weeks, tomorrow)

Notas sobre las publicaciones programadas

  • La fecha de publicación debe tener lugar entre 10 minutos y 30 días después de la hora de la solicitud de la API.
  • Si te basas en las cadenas de fecha relativa de strtotime(), puedes leer después de escribir el valor de scheduled_publish_time de la publicación creada para asegurarte de que es lo que esperabas.

Ejemplo de solicitud

Se ha aplicado formato para mejorar la legibilidad. Sustituye los valores en negrita y cursiva, como page_id, por tus valores.
curl -X POST "https://graph.facebook.com/v21.0/page_id/feed" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"your_message_text",
           "link":"your_url",
           "published":"false",
           "scheduled_publish_time":"unix_time_stamp_of_a_future_date",
         }'

Si la operación se realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el identificador de la publicación:

{
  "id": "page_post_id" 
}

Añadir segmentación de la audiencia

Para limitar los usuarios que pueden ver una publicación de la página, puedes añadir el objeto targeting.geo_locations o el parámetro feed_targeting.geo_locations en la solicitud POST.

-d '{
      ...
      "targeting": {
        "geo_locations": {
          "countries": [
            "CA"
          ],
          "cities": [
            {
              "key": "296875",
              "name": "Toronto"
            }
          ]
        }
      },
      ...
    }'

Solución de problemas

En algunos casos, el uso de un país y una región de ese país devuelve el siguiente error: “Algunos de tus lugares se superponen. Elimina un lugar”. En dichos casos, dirígete a la región o al país en función de la cobertura que quieras.

Publicar contenido multimedia

Puedes publicar fotos y vídeos en una página.

Publicar una foto

Para publicar una foto en una página, envía una solicitud POST al extremo /page_id/photos en la que page_id sea el identificador de la página, con el parámetro url establecido en la foto de la publicación.

Ejemplo de solicitud

Se ha aplicado formato para mejorar la legibilidad. Sustituye los valores en negrita y cursiva, como page_id, por tus valores.
curl -X POST "https://graph.facebook.com/v21.0/page_id/photos" \
     -H "Content-Type: application/json" \
     -d '{
           "url":"path_to_photo",

Si la operación se realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el identificador de la foto y el identificador de la publicación:

{
  "id":"photo_id",
  "post_id":"page_post_id" 
}

Publicar un vídeo

Consulta la documentación de la API de vídeo para realizar una publicación con vídeo en la página.

Obtener publicaciones

Para obtener una lista de las publicaciones de la página, envía una solicitud GET al extremo /page_id/feed.

Ejemplo de solicitud

Se ha aplicado formato para mejorar la legibilidad. Sustituye los valores en negrita y cursiva, como page_id, por tus valores.
curl -i -X GET "https://graph.facebook.com/v21.0/page_id/feed"

Si la operación se realiza correctamente, la aplicación recibe la siguiente respuesta JSON con una matriz de objetos que incluyen el identificador, la hora de creación y el contenido de cada publicación de tu página:

{
  "data": [
    {
      "created_time": "2019-01-02T18:31:28+0000",
      "message": "This is my test post on my Page.",
      "id": "page_post_id"
    }
  ],
...
}

Limitaciones

  • Vídeos en directo: si una publicación de la página contiene un vídeo que ha caducado, como una transmisión en directo, puedes obtener algunos de los campos de la publicación, pero no todos los relacionados con el vídeo. El vídeo tiene sus propias reglas de privacidad. Si el vídeo ha caducado, debes ser el administrador de la página para ver su información.
  • Llamada a la acción de mensaje: cualquier identificador de acceso puede servir para solicitar publicaciones de páginas compartidas públicamente siempre que se haya concedido la función de acceso al contenido público de la página a la aplicación. Sin embargo, no se puede acceder a las publicaciones con llamadas a la acción de mensaje mediante el identificador de acceso de otra página, ya que las páginas no pueden enviar mensajes a otras páginas.

URL de las publicaciones de la página

La URL, o enlace permanente, de una publicación de la página es https://www.facebook.com/page_post_id.

Actualizar una publicación

Para actualizar una publicación de la página, envía una solicitud POST al extremo /page_post_id con los parámetros que quieras actualizar establecidos en el nuevo contenido.

Ejemplo de solicitud

Se ha aplicado formato para mejorar la legibilidad. Sustituye los valores en negrita y cursiva, como page_post_id, por tus valores.
curl -X POST "https://graph.facebook.com/v21.0/page_post_id" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"I am updating my Page post",
         }'

Si la operación se realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el valor de success establecido en “true”:

{
  "success": true
}

Limitaciones

Una aplicación solo puede actualizar una publicación de la página si se hizo mediante esa aplicación.

Eliminar una publicación

Para eliminar una publicación de la página, envía una solicitud DELETE al extremo /page_post_id en la que el valor de page_post_id sea el identificador de la publicación que quieras eliminar.

Ejemplo de solicitud

Se ha aplicado formato para mejorar la legibilidad. Sustituye los valores en negrita y cursiva, como page_post_id, por tus valores.
curl -i -X DELETE "https://graph.facebook.com/v21.0/page_post_id"

Si la operación se realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el valor de success establecido en true:

{
  "success": true
}

Siguientes pasos

Obtén información sobre cómo comentar en publicaciones de la página y @mencionar a un usuario o página concreto que ha publicado o comentado en tu página.