Questo documento mostra come eseguire le seguenti attività per una Pagina Facebook:
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
publish_video
, se stai pubblicando un video sulla PaginaSe 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.
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.
Una singola chiamata API può darti molte informazioni per le Pagine su cui eseguire un'attività.
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.
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:
{ "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" ] }, ... ] }
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
.
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.
{ "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" ] }, ... ], }
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.
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.
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.
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
.
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
.
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à:
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
.
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/settings
per ottenere una lista di tutte le impostazioni per quella Pagina.
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
.
{ "data": [ { "setting": "USERS_CAN_POST", "value": false }, { "setting": "USERS_CAN_MESSAGE", "value": true }, { "setting": "USERS_CAN_POST_PHOTOS", "value": true }, ... ] }
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.
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
.
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
.
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;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" } }, ... ] }
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.
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 }
Scopri come pubblicare link, foto e video sulla tua Pagina.