Eine Seite verwalten

In diesem Dokument wird gezeigt, wie du die folgenden Aufgaben für eine Facebook-Seite ausführst:

  • Eine Liste von Seiten abrufen, auf denen du Aufgaben ausführen kannst, sowie:
    • Spezifische Aufgaben, die du auf jeder Seite ausführen kannst
    • Seiten-Zugriffsschlüssel für jede Seite, die du verwenden kannst, um API-Aufrufe zu testen
  • Details einer Seite abrufen und aktualisieren
  • Einstellungen für eine Seite abrufen und aktualisieren
  • Benachrichtigungen über vorgeschlagene Änderungen erhalten, die Meta auf einer Seite implementieren wird
    • Diese vorgeschlagenen Änderungen annehmen oder ablehnen
  • Bewertungen für eine Seite abrufen
  • Eine Seite für eine Person blockieren

Bevor du beginnst

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öffentlichst

Wenn 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.

Best Practices

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.

Beispielanfragen sind für Lesbarkeit formatiert. Ersetze Werte in Fett- oder Kursivschrift wie page_id durch deine Werte.

Seiten, Aufgaben und Token

Eine einzelne API-Anfrage kann dir eine Menge Informationen über Seiten liefern, auf denen du eine Aufgabe ausführen kannst.

Deine Seiten abrufen

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.

Beispielanfrage

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:

  • Name der Seite
  • ID der Seite
  • Kategorie der Seite, Kategoriename und ID
  • Einen kurzlebigen Seiten-Zugriffsschlüssel
  • Alle Aufgaben, die der*die Benutzer*in auf der Seite ausführen kann

Beispielantwort

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

Aufgaben für andere abrufen

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.

Beispielanfrage

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.

Beispielantwort

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

Seitendetails

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.

Details abrufen

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.

Beispielanfrage

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.

Details aktualisieren

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.

Beispielanfrage

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.

Von Meta vorgeschlagene Änderungen

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:

  • Nichts tun und die Änderungen treten zur angegebenen Zeit in Kraft
  • Die Änderungen annehmen und sie treten sofort in Kraft
  • Die Änderungen ablehnen und es werde keine Änderungen vorgenommen

Eine vorgeschlagene Änderung annehmen oder ablehnen

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.

Seiteneinstellungen

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.

Beispielanfrage

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.

Beispielantwort

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

Eine Einstellung aktualisieren

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.

Beispielanfrage

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.

Bewertungen abrufen

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.

Beispielanfrage

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 Bewertung
  • ein reviewer-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"
      }
    },
...
  ]
}

Blockieren einer Person

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.

Beispielanfrage

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
}