Post

Questa guida spiega come creare, pubblicare e aggiornare un post nonché come rispondere a un post sulla tua Pagina Facebook come Pagina ed eliminare un post usando l'API Pages di Meta.

Prima di iniziare

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

Best practice

Quando esegui il test di una chiamata API puoi includere il parametro access_token impostato sul tuo token d'accesso. Quando invece effettui chiamate protette dalla tua app, usa la classe del token d'accesso.

Pubblicazione di post

Per pubblicare un post su una Pagina, invia una richiesta POST all'endpoint /page_id/feed, dove page_id è l'ID della tua Pagina, con i seguenti parametri:

  • message impostato sul testo per il tuo post
  • link impostato sul tuo URL se desideri pubblicare un link
  • published impostato su true per pubblicare il post immediatamente (impostazione predefinita) oppure su false per pubblicarlo in un secondo momento
    • Includi scheduled_publish_time se impostato su false con la data in uno dei formati seguenti:
      • Un'indicazione temporale UNIX intera [in secondi] (ad esempio, 1530432000)
      • Una stringa dell'indicazione temporale ISO 8061 (ad esempio, 2018-09-01T10:15:30+01:00)
      • Qualsiasi stringa altrimenti analizzabile da strtotime() di PHP (ad esempio, +2 weeks, tomorrow)

Note sui post programmati

  • La data di pubblicazione deve essere compresa tra 10 minuti e 30 giorni dal momento della richiesta API.
  • Se ti affidi alle stringhe di date relative di strtotime(), puoi abilitare la modalità read-after-write di scheduled_publish_time del post creato per assicurarti che sia come te lo aspettavi.

Esempio di richiesta

Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto, come page_id, con i tuoi valori.
curl -X POST "https://graph.facebook.com/v19.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",
         }'

In caso di azione eseguita correttamente, l'app riceve la seguente risposta JSON con l'ID del post:

{
  "id": "page_post_id" 
}

Aggiunta della targetizzazione del pubblico

Per limitare chi può vedere un post della Pagina, puoi aggiungere l'oggetto targeting.geo_locations o il parametro feed_targeting.geo_locations nella tua richiesta POST.

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

Risoluzione dei problemi

In alcuni casi, l'uso di un Paese e di un'area geografica all'interno di quel Paese potrebbe creare un errore: "Alcune delle tue aree si sovrappongono. Prova a rimuovere un'area". In questi casi, targetizza l'area geografica o il Paese in base alla copertura che desideri.

Pubblicazione di post con contenuti multimediali

Puoi pubblicare foto e video su una Pagina.

Pubblicazione di una foto

Per pubblicare una foto su una Pagina, invia una richiesta POST all'endpoint /page_id/photos, dove page_id è l'ID della tua Pagina, con il parametro url impostato sulla foto per il post.

Esempio di richiesta

Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto, come page_id, con i tuoi valori.
curl -X POST "https://graph.facebook.com/v19.0/page_id/photos" \
     -H "Content-Type: application/json" \
     -d '{
           "url":"path_to_photo",

In caso di azione eseguita correttamente, l'app riceve la seguente risposta JSON con l'ID della foto e l'ID per il post:

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

Pubblicazione di un video

Consulta la documentazione sull'API Video per pubblicare un post con video sulla Pagina.

Acquisizione dei post

Per ottenere una lista di post della Pagina, invia una richiesta GET all'endpoint /{page-id}/feed.

Esempio di richiesta

Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto, come page_id, con i tuoi valori.
curl -i -X GET "https://graph.facebook.com/v19.0/page_id/feed"

In caso di azione eseguita correttamente, la tua app riceve la seguente risposta JSON con una serie di oggetti che includono l'ID del post, l'orario di creazione del post e il contenuto del post, per ogni post sulla tua Pagina:

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

Limitazioni

  • Video in diretta: se un post della Pagina contiene un video scaduto, ad esempio una trasmissione in diretta, puoi ottenere alcuni campi del post, ma non i campi relativi al video. Il video dispone di regole sulla privacy specifiche. Se il video è scaduto, per visualizzarne le informazioni devi essere l'amministratore della Pagina.
  • CTA Messaggio: qualsiasi token d'accesso può essere utilizzato per richiedere post della Pagina condivisi pubblicamente purché la tua app abbia ricevuto l'approvazione per la funzione di accesso ai contenuti pubblici della Pagina. Tuttavia, non è possibile accedere ai post con CTA messaggio utilizzando il token d'accesso di un'altra Pagina poiché le Pagine non possono inviare messaggi ad altre Pagine.

URL dei post della Pagina

L'URL, o permalink, di un post della Pagina è https://www.facebook.com/page_post_id.

Aggiornamento di un post

Per aggiornare un post della Pagina, invia una richiesta POST all'endpoint /page_post_id con il parametro che desideri aggiornare impostato sul nuovo contenuto.

Esempio di richiesta

Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto, come page_post_id, con i tuoi valori.
curl -X POST "https://graph.facebook.com/v19.0/page_post_id" \
     -H "Content-Type: application/json" \
     -d '{
           "message":"I am updating my Page post",
         }'

In caso di azione eseguita correttamente, la tua app riceverà la seguente risposta JSON contenente success impostato su true:

{
  "success": true
}

Limitazioni

Un'app può aggiornare un post della Pagina solo se questo è stato creato utilizzando quell'app specifica.

Eliminazione di un post

Per eliminare un post della Pagina, invia una richiesta DELETE all'endpoint /page_post_id dove page_post_id è l'ID del post che desideri eliminare.

Esempio di richiesta

Formattato per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto, come page_post_id, con i tuoi valori.
curl -i -X DELETE "https://graph.facebook.com/v19.0/page_post_id"

In caso di azione eseguita correttamente, l'app riceve la seguente risposta JSON con success impostato su true:

{
  "success": true
}

Passaggi successivi

Scopri come commentare i post della Pagina e @menzionare una persona o una Pagina specifica che ha pubblicato o commentato la tua Pagina.