Eine Datei hochladen

Über die Resumable Upload API kannst du große Dateien in Social Graph von Meta hochladen und unterbrochene Upload-Sitzungen fortsetzen, ohne dass du sie erneut von Beginn starten musst. Sobald du die Datei hochgeladen hast, kannst du sie veröffentlichen.

Referenzen zu Endpunkten, die Handles hochgeladener Dateien unterstützen, zeigen an, ob Endpunkte Handles unterstützen, die von der Resumable Upload API zurückgegeben wurden.

Bevor du beginnst

Dieser Leitfaden setzt voraus, dass du die Leitfäden Graph API – Übersicht und Meta-Entwicklung gelesen sowie die erforderlichen Maßnahmen für das Entwickeln mit Meta ergriffen hast.

Voraussetzungen:

  • Eine Meta-App-ID
  • Eine Datei in einem der folgenden Formate:
    • pdf
    • jpeg
    • jpg
    • png
  • Einen Nutzer*innen-Zugriffsschlüssel

Schritt 1: Upload-Sitzung starten

Sende zum Starten einer Upload-Sitzung eine POST-Anfrage an den /<APP_ID>/uploads-Endpunkt, wobei <APP_ID> die Meta-ID deiner App ist. Die folgenden Parameter sind obligatorisch:

  • file_name: der Name der Datei
  • file_length: die Dateigröße in Bytes
  • file_type: der MIME-Typ der Datei. Gültige Werte: application/pdf, image/jpeg, image/jpg, image/png und video/mp4

Anfragesyntax

Für Lesbarkeit formatiert.

curl -i -X POST "https://graph.facebook.com/v21.0/<APP_ID>/uploads
  ?file_name=<FILE_NAME>
  &file_length=<FILE_LENGTH>
  &file_type=<FILE_TYPE>
  &access_token=<USER_ACCESS_TOKEN>"

Bei Erfolg erhält deine App eine JSON-Antwort mit der ID der Upload-Sitzung.

{
  "id": "upload:<UPLOAD_SESSION_ID>"
}

Schritt 2: Upload starten

Starte den Upload der Datei, indem du eine POST-Anfrage an den /upload:<UPLOAD_SESSION_ID>-Endpunkt sendest, bei der folgender file_offset auf 0 gesetzt ist.

Anfragesyntax

curl -i -X POST "https://graph.facebook.com/v21.0/upload:<UPLOAD_SESSION_ID>"
  --header "Authorization: OAuth <USER_ACCESS_TOKEN>"
  --header "file_offset: 0"
  --data-binary @<FILE_NAME>

Beziehe unbedingt den Zugriffsschlüssel in den Header ein. Ansonsten schlägt der Aufruf fehl.

Bei Erfolg erhält deine App den Datei-Handle, den du in deinen API-Aufrufen verwendest, um die Datei auf deinem Endpunkt zu veröffentlichen.

{
  "h": "<UPLOADED_FILE_HANDLE>"
}

Beispielantwort

{
    "h": "2:c2FtcGxl..."
}

Einen unterbrochenen Upload fortsetzen

Wenn du eine Upload-Sitzung gestartet hast, diese jedoch mehr Zeit beansprucht als erwartet oder unterbrochen wurde, sende eine GET-Anfrage an den /upload:<UPLOAD_SESSION_ID>-Endpunkt aus Schritt 1.

Anfragesyntax

Für Lesbarkeit formatiert.

curl -i -X GET "https://graph.facebook.com/v21.0/upload:<UPLOAD_SESSION_ID>"
  --header "Authorization: OAuth <USER_ACCESS_TOKEN>""

Bei Erfolg gibt deine App eine JSON-Antwort mit dem file_offset-Wert zurück, den du verwenden kannst, um den Upload-Vorgang dort fortzusetzen, wo er unterbrochen wurde.

{
  "id": "upload:<UPLOAD_SESSION_ID>"
  "file_offset": <FILE_OFFSET>"
}

Verwende diesen file_offset-Wert, um eine weitere POST-Anfrage wie in Schritt 2 zu senden. Hierdurch wird der Upload-Vorgang dort fortgesetzt, wo er unterbrochen wurde.

Nächste Schritte

  • In der Video API-Dokumentation findest du Informationen zum Veröffentlichen eines Videos auf einer Facebook-Seite.