In diesem Dokument wird gezeigt, wie du die folgenden Aufgaben für eine Facebook-Seite ausführst:
Bei diesem Leitfaden wird vorausgesetzt, dass du die Übersicht zur Pages API gelesen hast.
Für eine Person, die Aufgaben auf der Seite ausführen kann, musst du Facebook Login implementieren, um die folgenden Berechtigungen zu beantragen und einen Nutzer*innen- oder Seiten-Zugriffsschlüssel zu erhalten:
pages_manage_engagement
pages_manage_metadata
pages_manage_posts
pages_read_engagement
pages_read_user_engagement
pages_show_list
publish_video
-Berechtigung, wenn du auf der Seite ein Video veröffentlichstWenn du in deinen API-Anfragen einen geschäftlichen Systemnutzer verwendest, brauchst du die Berechtigung business_management
.
Dein*e App-Nutzer*in muss in den API-Anfragen auf der Seite die Aufgaben CREATE_CONTENT
, MANAGE
und/oder MODERATE
ausführen können.
Wenn du einen API-Aufruf testest, kannst du den access_token
-Parameter einbeziehen, der auf deinen Zugriffsschlüssel festgelegt ist. Wenn du jedoch sichere Aufrufe über deine App ausführst, verwende die Klasse des Zugriffsschlüssels.
Eine einzelne API-Anfrage kann dir eine Menge Informationen über Seiten liefern, auf denen du eine Aufgabe ausführen kannst.
Um eine Liste aller Seiten, auf denen du Aufgaben ausführen kannst, sowie die die Aufgaben, die du auf jeder Seite ausführen kannst, und einen kurzlebigen Seiten-Zugriffsschlüssel für jede Seite abzurufen, sende eine GET
-Anfrage an den Endpunkt /user_id/accounts
und verwende dabei einen Nutzer*innen-Zugriffsschlüssel.
curl -i -X GET "https://graph.facebook.com/user_id/accounts"
Bei Erfolg erhält deine App eine JSON-Antwort mit einem Array aus Seitenobjekten. Jedes Seitenobjekt enthält Folgendes:
{ "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" ] }, ... ] }
Wenn du die Aufgabe MANAGE
auf der Seite ausführen kannst, kannst du eine Liste anderer Personen abrufen, die Aufgaben auf dieser Seite ausführen können, einschließlich der Aufgaben, die jede Person ausführen kann.
Um eine Liste von Personen und den Aufgaben, die diese auf der Seite ausführen können, abzurufen, sende Sie eine GET
-Anfrage an den Endpunkt /page_id/roles
.
curl -i -X GET "https://graph.facebook.com/page_id/roles"
Bei Erfolg erhält deine App eine JSON-Antwort mit dem Namen der Person, der seitenspezifischen ID und den Aufgaben, die jede Person auf einer Seite ausführen kann.
{ "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" ] }, ... ], }
Wenn du die Aufgabe MANAGE
auf der Seite ausführen kannst, kannst du einen Seiten-Zugriffsschlüssel oder, wenn deine App für die Funktion „Zugriff auf öffentliche Seiteninhalte“ genehmigt wurde, einen Benutzer*innen-Zugriffsschlüssel verwenden, um Details zu einer Seite wie z. B. Info, E-Mail, Geschäftszeiten usw. zu sehen.
Um Details zu einer Seite abzurufen, sende eine GET
-Anfrage an den Endpunkt /page_id
, wobei der fields
-Parameter auf die Seitendetails festgelegt ist, die du ansehen möchtest.
Hinweis: Du kannst den /pages/search
-Endpunkt verwenden, um Seiten-IDs zu finden, wenn du Funktion „Zugriff auf öffentliche Seiteninhalte“ verwendest.
curl -i -X GET "https://graph.facebook.com/page_id \ ?fields=about,attire,bio,location,parking,hours,emails,website"
Bei Erfolg erhält deine App eine JSON-Antwort mit den Werten die Felder, die du angefordert hast. Beachte: Wenn ein Feld nicht mit der Antwort zurückgegeben wird, ist der Wert auf dieser Seite nicht festgelegt. Ist auf der Seite beispielsweise das Feld attire
nicht festgelegt, wird dieses Feld in der Antwort nicht angegeben.
Wenn du die Aufgabe MANAGE
auf der Seite ausführen kannst, kannst du einen Seiten-Zugriffsschlüssel verwenden, um eine POST
-Anfrage mit den Parametern, die du aktualisieren möchtest, an den /page_id
-Endpunkt zu senden, z. B. der Parameter 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!",
}'
Bei Erfolg erhält deine App eine JSON-Antwort, bei der success
auf true
gesetzt ist.
Gelegentlich schlägt Meta Änderungen an den Details deiner Seite, wie zum Beispiel die Behebung eines Tippfehlers oder die Aktualisierung der Kategorien auf deiner Seite vor, damit Nutzer*innen deine Seite leichter finden können. Um diese Benachrichtigungen zu erhalten, musst du den Webhook page_upcoming_change
und/oder page_change_proposal
abonnieren.
Sobald du eine Benachrichtigung erhältst, kannst du eine der folgenden Aktionen ausführen:
Um eine vorgeschlagene Änderung anzunehmen oder abzulehnen, sende eine POST
-Anfrage an den /page_change_proposal_id
-Endpunkt. Setze das Feld accept
auf true
, um die Änderung anzunehmen, oder auf false
, um sie abzulehnen. Die page_change_proposal_id
ist der proposal.id
Wert, den du in der page_upcoming_change
-Webhook-Benachrichtigung erhalten hast, oder der value.id
-Wert aus der page_change_proposal
-Webhook-Benachrichtigung.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_change_proposal_id" \
-H "Content-Type: application/json" \
-d '{
"accept":"true",
}'
Bei Erfolg erhält deine App eine JSON-Antwort, bei der success
auf true
gesetzt ist.
Wenn du die Aufgabe MANAGE
auf der Seite ausführen kannst, kannst du einen Seitenzugriffsschlüssel verwenden, um eine GET
-Anfrage an den /page_id/settings
-Endpunkt zu senden und eine Liste aller Einstellungen für diese Seite zu abzurufen.
curl -i -X GET "https://graph.facebook.com/v21.0
/page_id/settings"
Bei Erfolg erhält deine App eine JSON-Antwort mit einem Array von Objekten, wobei jedes Objekt dem setting
-Satz einer Seiteneinstellung entspricht und den Wert true
oder false
aufweist.
{ "data": [ { "setting": "USERS_CAN_POST", "value": false }, { "setting": "USERS_CAN_MESSAGE", "value": true }, { "setting": "USERS_CAN_POST_PHOTOS", "value": true }, ... ] }
Um die Einstellungen für eine Seite zu aktualisieren, sende eine POST
-Anfrage an den /page_id/settings
-Endpunkt, wobei der option
-Parameter auf die Einstellung festgelegt ist, die aktualisiert werden soll.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id/settings" \
-H "Content-Type: application/json" \
-d '{
"option":{"USERS_CAN_MESSAGE": "true"},
}'
Bei Erfolg erhält deine App eine JSON-Antwort, bei der success
auf true
gesetzt ist.
Du kannst Bewertungen für eine Seite abrufen, einschließlich des Namens des*der Verfasser*in, der seitenspezifischen ID, der Information, ob es sich um eine positive oder negative Bewertung handelt, und des Bewertungstexts, indem du eine GET
-Anfrage an den /page_id/ratings
-Endpunkt sendest.
curl -i -X GET "https://graph.facebook.com/page_id/ratings"
Wenn der Vorgang erfolgreich verläuft, erhält deine App ein JSON-Array mit Bewertungsobjekten. Jedes Objekt enthält Folgendes:
created_time
: festgelegt auf die Erstellungszeit der Bewertung recommendation_type
: festgelegt auf positive
oder negative
review_text
: festgelegt auf den Inhalt der Bewertungreviewer
-Objekt mit name
und id
der Person, die die Bewertung beschrieben hat{ "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" } }, ... ] }
Um für eine Person die Kommentarfunktion auf einer Seite zu blockieren, sende eine POST
-Anfrage an den /page_id/blocked
-Endpunkt, wobei der user
-Parameter auf die seitenspezifische ID der Person festgelegt ist, die blockiert werden soll.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id/blocked"
-H "Content-Type: application/json" \
-d '{
"user":"psid_to_block",
}'
Bei Erfolg erhält deine App eine JSON-Antwort, bei der die seitenspezifische ID auf true
gesetzt ist.
{ "psid_to_block": true }
Erfahre, wie du Links, Fotos und Videos auf deiner Seite veröffentlichen kannst.