Publicações

Este guia explica como criar, publicar e atualizar uma publicação, bem como responder a uma publicação na sua Página do Facebook e excluir uma publicação usando a API de Páginas da Meta.

Antes de começar

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

Boas práticas

Ao testar uma chamada de API, você pode incluir o parâmetro access_token definido como seu token de acesso. No entanto, quando fizer chamadas seguras do seu app, use as classes de token de acesso.

Fazer publicações

Para fazer uma publicação em uma Página, envie uma solicitação POST ao ponto de extremidade /page_id/feed, em que page_id é a identificação da sua Página, com os seguintes parâmetros:

  • message definido como o texto da publicação.
  • link definido como a URL caso você queira publicar um link.
  • published definido como true para fazer a publicação imediatamente (padrão) ou false para publicar mais tarde.
    • Se for definido como false, inclua scheduled_publish_time com a data em um dos seguintes formatos:
      • Um registro de data e hora UNIX em segundos no formato de número inteiro (por exemplo, 1530432000).
      • Uma string de registro de data e hora no formato ISO 8061 (por exemplo, 2018-09-01T10:15:30+01:00).
      • Outra string analisável por strtotime() do PHP (por exemplo, +2 weeks, tomorrow).

Observações sobre as publicações programadas

  • A data de publicação precisa ser entre 10 minutos e 30 dias do momento da solicitação de API.
  • Se você estiver usando como base as strings de data relativa de strtotime(), será possível fazer a leitura após gravação de scheduled_publish_time da publicação criada para garantir que a data corresponda ao esperado.

Exemplo de solicitação

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_id) pelos seus valores.
curl -X POST "https://graph.facebook.com/v20.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",
         }'

Caso a solicitação seja bem-sucedida, o app receberá a resposta JSON a seguir com a identificação da publicação:

{
  "id": "page_post_id" 
}

Adicionar direcionamento de público

Para limitar quem pode ver uma publicação da Página, você pode adicionar o objeto . geo_locations ou o parâmetro feed_targeting. geo_locations à sua solicitação POST.

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

Solução de problemas

Em alguns casos, usar um país e uma região dele causará o erro: "Há sobreposição de algumas das suas localizações. Experimente remover uma localização." Quando isso acontecer, faça o direcionamento para a região ou o país, dependendo da cobertura desejada por você.

Fazer publicações com mídia

Você pode publicar fotos e vídeos na Página.

Publicar uma foto

Para publicar uma foto na Página, envie uma solicitação POST ao ponto de extremidade /page_id/photos, em que page_id é a identificação da sua Página, com o parâmetro url definido como a foto da publicação.

Exemplo de solicitação

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_id) pelos seus valores.
curl -X POST "https://graph.facebook.com/v20.0/page_id/photos" \
     -H "Content-Type: application/json" \
     -d '{
           "url":"path_to_photo",

Caso a solicitação seja bem-sucedida, o app receberá a resposta JSON a seguir com a identificação da foto e da publicação.

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

Publicar um vídeo

Acesse a documentação da API de Vídeo para saber como publicar um vídeo na sua Página.

Obter publicações

Para obter uma lista de publicações da Página, envie uma solicitação GET ao ponto de extremidade /page_id/feed.

Exemplo de solicitação

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_id) pelos seus valores.
curl -i -X GET "https://graph.facebook.com/v20.0/page_id/feed"

Caso a solicitação seja bem-sucedida, o app receberá a seguinte resposta JSON com uma matriz de objetos, incluindo a identificação, o horário de criação e o conteúdo de cada publicação da sua Página:

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

Limitações

  • Vídeos ao vivo: caso uma publicação da Página contenha um vídeo que expirou (como uma transmissão ao vivo), será possível obter alguns campos de publicação, mas não aqueles relacionados ao vídeo. O vídeo tem as próprias regras de privacidade. Para visualizar as informações de um vídeo expirado, você precisa ser o administrador da Página.
  • CTA da mensagem: os tokens de acesso podem ser usados para solicitar publicações da Página de compartilhamento público, desde que seu app tenha sido aprovado para o recurso Acesso ao conteúdo público da Página. Entretanto, as publicações com mensagem de CTA não podem ser acessadas por meio do token de acesso de outra Página, já que as Páginas não podem enviar mensagens umas às outras.

URLs de publicações da Página

A URL, ou link permanente, para uma publicação da Página é https://www.facebook.com/page_post_id.

Atualizar uma publicação

Para atualizar uma publicação da Página, envie uma solicitação POST ao ponto de extremidade /page_post_id, com os parâmetros que você quer atualizar definidos como o novo conteúdo.

Exemplo de solicitação

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_post_id) pelos seus valores.
curl -X POST "https://graph.facebook.com/v20.0/page_post_id" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"I am updating my Page post",
         }'

Se o processo for bem-sucedido, o app receberá a resposta JSON a seguir, com success definido como verdadeiro:

{
  "success": true
}

Limitações

Um app só poderá atualizar a publicação de uma Página se ela tiver sido feita por meio dele.

Excluir uma publicação

Para excluir uma publicação da Página, envie uma solicitação DELETE ao ponto de extremidade /page_post_id, em que page_post_id é a identificação da publicação que você quer excluir.

Exemplo de solicitação

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_post_id) pelos seus valores.
curl -i -X DELETE "https://graph.facebook.com/v20.0/page_post_id"

Se o processo for bem-sucedido, o app receberá a resposta JSON a seguir, com success definido como true:

{
  "success": true
}

Próximas etapas

Saiba como comentar em publicações da Página e @mencionar uma pessoa ou Página específica que publicou ou comentou na sua Página.