Ü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.
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:
pdf
jpeg
jpg
png
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 Dateifile_length
: die Dateigröße in Bytesfile_type
: der MIME-Typ der Datei. Gültige Werte: application/pdf
, image/jpeg
, image/jpg
, image/png
und video/mp4
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>" }
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.
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>" }
{ "h": "2:c2FtcGxl..." }
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.
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.