Beiträge

Dieser Leitfaden erklärt, wie du mit der Pages API von Meta als die Seite einen Beitrag auf deiner Facebook-Seite erstellen, veröffentlichen, aktualisieren, löschen und darauf antworten kannst.

Bevor du beginnst

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

Beiträge veröffentlichen

Um auf einer Seite einen Beitrag zu veröffentlichen, sende mit den folgenden Parametern eine POST-Anfrage an den /page_id/feed-Endpunkt, wobei page_id die ID für deine Seite ist:

  • message festgelegt auf den Text deines Beitrags
  • link festgelegt auf deine URL, wenn du einen Link posten möchtest
  • published festgelegt auf true, um den Beitrag sofort (Standardeinstellung) oder false später zu veröffentlichen
    • Schließe bei Festlegung auf falsescheduled_publish_time ein, wobei das Datum eines der folgenden Formate aufweist:
      • UNIX-Zeitstempel als Ganzzahl [in Sekunden] (z. B. 1530432000)
      • Ein ISO 8061-Zeitstempel-String (z. B. 2018-09-01T10:15:30+01:00)
      • Ein auf andere Weise durch strtotime() von PHP analysierbarer String (z. B. +2 weeks, tomorrow)

Hinweise zu geplanten Beiträgen

  • Das Veröffentlichungsdatum muss zwischen 10 Minuten und 30 Tagen nach dem Zeitpunkt der API-Anfrage liegen.
  • Wenn du die relativen Datumsstrings von strtotime() verwendest, kannst du read-after-write auf die scheduled_publish_time des erstellten Beitrags anwenden, um sicherzustellen, dass er den Erwartungen entspricht.

Beispielanfrage

Für Lesbarkeit formatiert. Ersetze Werte in Fett- oder Kursivschrift wie page_id durch deine Werte.
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",
         }'

Bei Erfolg erhält deine App die folgende JSON-Antwort mit der ID für den Beitrag:

{
  "id": "page_post_id" 
}

Zielgruppen-Targeting hinzufügen

Um einzuschränken, wer einen Seitenbeitrag anzeigen kann, kannst du das Objekt targeting.geo_locations oder den Parameter feed_targeting.geo_locations in deiner POST-Anfrage hinzufügen.

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

Problembehebung

In einigen Fällen tritt ein Fehler auf, wenn sowohl ein Land als auch eine Region innerhalb dieses Landes verwendet werden: „Einige deiner Standorte überschneiden sich. Entferne einen Standort.“ Entscheide dich in diesen Fällen je nach gewünschter Abdeckung entweder für die Region oder für das Land.

Medienbeiträge veröffentlichen

Du kannst auf einer Seite Fotos und Videos veröffentlichen.

Ein Foto veröffentlichen

Um auf einer Seite ein Foto zu veröffentlichen, sende eine POST-Anfrage an den /page_id/photos-Endpunkt, wobei page_id die ID für deine Seite ist. Der Parameter url muss dabei auf das Foto für deinen Beitrag festgelegt sein.

Beispielanfrage

Für Lesbarkeit formatiert. Ersetze Werte in Fett- oder Kursivschrift wie page_id durch deine Werte.
curl -X POST "https://graph.facebook.com/v19.0/page_id/photos" \
     -H "Content-Type: application/json" \
     -d '{
           "url":"path_to_photo",

Bei Erfolg erhält deine App die folgende JSON-Antwort mit der ID für das Foto und der ID für den Beitrag:

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

Ein Video veröffentlichen

In der Video API-Dokumentation findest du Informationen zum Veröffentlichen eines Videobeitrags auf deiner Seite.

Beiträge abrufen

Um eine Liste der Seitenbeiträge abzurufen, sende eine GET-Anfrage an den /page_id/feed-Endpunkt.

Beispielanfrage

Für Lesbarkeit formatiert. Ersetze Werte in Fett- oder Kursivschrift wie page_id durch deine Werte.
curl -i -X GET "https://graph.facebook.com/v19.0/page_id/feed"

Bei Erfolg erhält deine App die folgende JSON-Antwort mit einem Array von Objekten, die die Beitrags-ID, den Zeitpunkt der Erstellung des Beitrags und den Inhalt des Beitrags für jeden Beitrag auf deiner Seite enthalten:

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

Einschränkungen

  • Live-Videos: Wenn ein Seitenbeitrag ein Video enthält, das abgelaufen ist, wie zum Beispiel eine Live-Übertragung, kannst du einige Beitragsfelder abrufen, aber keine mit dem Video in Zusammenhang stehenden Felder. Für das Video gelten eigene Datenschutzbestimmungen. Ist das Video abgelaufen, musst du der*die Seitenadministrator*in sein, um die enthaltenen Informationen sehen zu können.
  • Nachricht-CTA – Es können alle Zugriffsschlüssel verwendet werden, um öffentlich geteilte Beiträge anzufordern, solange deine App die Genehmigung für die Funktion zum Zugriff auf öffentliche Seiteninhalte hat. Auf Beiträge mit Nachrichten-CTAs kannst du jedoch nicht mit dem Zugriffsschlüssel einer anderen Seite zugreifen, da Seiten keine Nachrichten an andere Seiten senden können.

Seitenbeitrags-URLs

Die URL oder der Permalink für einen Seitenbeitrag lautet https://www.facebook.com/page_post_id.

Einen Beitrag aktualisieren

Um einen Seitenbeitrag zu aktualisieren, sende eine POST-Anfrage an den /page_post_id-Endpunkt, wobei die Parameter, die aktualisiert werden sollen, auf den neuen Inhalt festgelegt sind.

Beispielanfrage

Für Lesbarkeit formatiert. Ersetze Werte in Fett- oder Kursivschrift wie page_post_id durch deine Werte.
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",
         }'

Wenn der Vorgang erfolgreich ist, erhält deine App die folgende JSON-Antwort, bei der success auf „true“ gesetzt ist:

{
  "success": true
}

Einschränkungen

Eine App kann einen Seitenbeitrag nur dann aktualisieren, wenn der Beitrag mit dieser App verfasst wurde.

Einen Beitrag löschen

Um einen Seitenbeitrag zu löschen, sende eine DELETE-Anfrage an den /page_post_id-Endpunkt, wobei page_post_id die ID des zu löschenden Beitrags ist.

Beispielanfrage

Für Lesbarkeit formatiert. Ersetze Werte in Fett- oder Kursivschrift wie page_post_id durch deine Werte.
curl -i -X DELETE "https://graph.facebook.com/v19.0/page_post_id"

Wenn der Vorgang erfolgreich ist, erhält deine App die folgende JSON-Antwort, bei der success auf true gesetzt ist:

{
  "success": true
}

Nächste Schritte

Erfahre, wie du Seitenbeiträge kommentieren und eine bestimmte Person oder eine Seite @erwähnen kannst, die auf deiner Seite etwas gepostet oder einen Kommentar hinterlassen hat.