Gestione di una Pagina

Questo documento mostra come eseguire le seguenti attività per una Pagina Facebook:

  • Ottenere una lista di Pagine su cui puoi svolgere attività, tra cui:
    • Attività specifiche che puoi eseguire su ogni Pagina
    • Token d'accesso della Pagina per ogni Pagina che puoi usare per testare le chiamate API
  • Ottenere e aggiornare i dettagli su una Pagina
  • Ottenere e aggiornare le impostazioni per una Pagina
  • Ottenere notifiche sulle modifiche suggerite che Meta implementerà su una Pagina
    • Accettare o rifiutare queste modifiche suggerite
  • Ottenere recensioni per una Pagina
  • Bloccare un utente da una Pagina

Prima di iniziare

Questa guida presuppone che tu abbia letto la Panoramica dell'API Pages.

Per una persona che può svolgere attività sulla Pagina, dovrai implementare Facebook Login per chiedere le seguenti autorizzazioni e ricevere un token d'accesso dell'utente o della Pagina:

  • pages_manage_engagement
  • pages_manage_metadata
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • pages_show_list
  • Autorizzazione publish_video, se stai pubblicando un video sulla Pagina

Se usi un utente di sistema business nelle tue richieste API, avrai bisogno dell'autorizzazione business_management.

L'utente della tua app deve essere in grado di eseguire le attività CREATE_CONTENT, MANAGE e/o MODERATE nella Pagina nelle richieste API.

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.

Le richieste di esempio sono formattate per una maggiore leggibilità. Sostituisci i valori corsivi in grassetto, come page_id, con i tuoi valori.

Pagine, attività e token

Una singola chiamata API può darti molte informazioni per le Pagine su cui eseguire un'attività.

Ottenere le tue Pagine

Per ottenere una lista di tutte le Pagine su cui puoi eseguire attività, le attività che puoi eseguire su ogni Pagina e un token d'accesso della Pagina di breve durata per ogni Pagina, invia una richiesta GET all'endpoint /user_id/accounts usando un token d'accesso dell'utente.

Esempio di richiesta

curl -i -X GET 
     "https://graph.facebook.com/user_id/accounts"

In caso di azione eseguita correttamente, l'app riceve una risposta JSON con un array di oggetti della Pagina. Ogni oggetto della Pagina contiene:

  • Il nome della Pagina
  • L'ID della Pagina
  • La categoria della Pagina, il nome della categoria e l'ID
  • Un token d'accesso della Pagina di breve durata
  • Tutte le attività che l'utente può eseguire sulla Pagina

Risposta di esempio

{
  "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"
      ]
    },
...
  ]
}

Ottenere attività per altre persone

Se puoi eseguire l'attività MANAGE sulla Pagina, puoi ottenere una lista di altre persone che possono eseguire attività su quella Pagina, incluse le attività che ogni persona può eseguire.

Per ottenere una lista di persone e le attività che possono svolgere sulla Pagina, invia una richiesta GET all'endpoint /page_id/roles.

Esempio di richiesta

curl -i -X GET "https://graph.facebook.com/page_id/roles"

Se l'azione viene eseguita correttamente, la tua app riceve una risposta JSON con il nome della persona, il suo ID della singola Pagina e le attività che ogni persona può svolgere su una Pagina.

Risposta di esempio

{
  "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"
      ]
    },
...
  ],
}

Dettagli della Pagina

Se puoi eseguire l'attività MANAGE sulla Pagina, puoi usare un token d'accesso della Pagina oppure, se la tua app è stata approvata per la funzione di accesso ai contenuti pubblici della Pagina, puoi usare un token d'accesso dell'utente, per visualizzare i dettagli di una Pagina come informazioni, e-mail, orari di apertura ecc.

Ottenere i dettagli

Per ottenere dettagli su una Pagina, invia una richiesta GET all'endpoint /page_id con il parametro fields impostato sui dettagli della Pagina che desideri visualizzare.

Nota: puoi usare l'endpoint /pages/search per trovare gli ID della Pagina quando usi la funzione di accesso ai contenuti pubblici della Pagina.

Esempio di richiesta

curl -i -X GET "https://graph.facebook.com/page_id \
     ?fields=about,attire,bio,location,parking,hours,emails,website"

In caso di azione eseguita correttamente, l'app riceve una risposta JSON con il valore dei campi che hai richiesto. Se un campo non viene restituito nella risposta, la Pagina non ha questo valore impostato. Ad esempio, se la Pagina non ha impostato il campo attire, questo campo non verrà restituito nella risposta.

Dettagli sull'aggiornamento

Se puoi eseguire l'attività MANAGE sulla Pagina, puoi usare un token d'accesso della Pagina per inviare una richiesta POST all'endpoint /page_id con i parametri che vuoi aggiornare, come il parametro about.

Esempio di richiesta

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!",
         }'

In caso di azione eseguita correttamente, l'app riceve una risposta JSON con success impostato su true.

Modifiche proposte da Meta

A volte, Meta potrebbe proporre modifiche ai dettagli della tua Pagina, come correggere un errore di battitura o aggiornare le categorie della tua Pagina per aiutare le persone a individuarla con maggiore facilità. Per ricevere queste notifiche, devi essere iscritto al webhook page_upcoming_change e/o al webhook page_change_proposal.

Una volta ricevuta la notifica, puoi eseguire una delle seguenti attività:

  • Non fare nulla e le modifiche entreranno in vigore nel momento indicato nella notifica
  • Accettare attivamente le modifiche, che entreranno in vigore immediatamente
  • Rifiutare attivamente le modifiche, che quindi non verranno apportate

Accettare o rifiutare una modifiche proposta

Per accettare o rifiutare attivamente una modifica proposta, invia una richiesta POST all'endpoint /page_change_proposal_id con il campo accept impostato su true per accettare la modifica o su false per rifiutarla. Il page_change_proposal_id è il valore proposal.id ricevuto nella notifica webhook page_upcoming_change o il valore value.id ricevuto nella notifica 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",
         }'

In caso di azione eseguita correttamente, l'app riceve una risposta JSON con success impostato su true.

Impostazioni della Pagina

Se puoi eseguire l'attività MANAGE sulla Pagina, puoi usare un token d'accesso della Pagina per inviare una richiesta GET all'endpoint /page_id/settingsper ottenere una lista di tutte le impostazioni per quella Pagina.

Esempio di richiesta

curl -i -X GET "https://graph.facebook.com/v21.0/page_id/settings"

In caso di azione eseguita correttamente, la tua app riceverà una risposta JSON con un array di oggetti in cui ogni oggetto è setting impostato su un'impostazione della Pagina e il valore, true o false.

Risposta di esempio

{
  "data": [
    {
      "setting": "USERS_CAN_POST",
      "value": false
    },
    {
      "setting": "USERS_CAN_MESSAGE",
      "value": true
    },
    {
      "setting": "USERS_CAN_POST_PHOTOS",
      "value": true
    },
    ...
  ]
}

Aggiornare un'impostazione

Per aggiornare le impostazioni di una Pagina, invia una richiesta POST all'endpoint /page_id/settings con il parametro option impostato sull'impostazione che desideri aggiornare.

Esempio di richiesta

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/settings" \
     -H "Content-Type: application/json" \
     -d '{
           "option":{"USERS_CAN_MESSAGE": "true"},
         }'

In caso di azione eseguita correttamente, l'app riceve una risposta JSON con success impostato su true.

Ottenere le recensioni

Puoi ottenere le recensioni per una Pagina, compreso il nome di chi ha inviato la recensione, il relativo ID della singola Pagina, che si tratti di una raccomandazione positiva o negativa, e il testo della recensione, inviando una richiesta GET all'endpoint /page_id/ratings.

Esempio di richiesta

curl -i -X GET "https://graph.facebook.com/page_id/ratings" 

In caso di azione eseguita correttamente, l'app riceve un array JSON con gli oggetti della recensione. Ogni oggetto contiene:

  • created_time impostato sull'orario in cui è stata creata la recensione;
  • recommendation_type impostato su positive o negative;
  • review_text impostato sul contenuto per la recensione;
  • un oggetto reviewer con name e id della persona che ha scritto la recensione.
{
  "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"
      }
    },
...
  ]
}

Bloccare un utente

Per impedire a una persona di commentare una Pagina, invia una richiesta POST all'endpoint /page_id/blocked con il parametro user impostato su ID della singola Pagina per la persona che vuoi bloccare.

Esempio di richiesta

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/blocked"
     -H "Content-Type: application/json" \
     -d '{
           "user":"psid_to_block",
         }'

In caso di azione eseguita correttamente, l'app riceve una risposta JSON con l'ID della singola Pagina impostato su true.

{
 "psid_to_block": true
}

Passaggi successivi

Scopri come pubblicare link, foto e video sulla tua Pagina.