In diesem Tutorial erfährst du, wie du mit der Video API ein Video auf einer Seite erstellen kannst. Voraussetzung für das Tutorial ist, dass du einfache cURL-Anfragen mit einem Befehlszeilentool wie Terminal oder einer entsprechenden App wie Postman durchführen kannst und grundlegende Kenntnisse des Graph API Explorer hast.
Voraussetzungen:
CREATE_CONTENT
-Aufgaben ausführen kannst.Grundsätzlich musst du Facebook Login in deine App integrieren und zum Abrufen von Zugriffsschlüsseln von deinen App-Nutzer*innen verwenden. Im Rahmen dieses Tutorials kannst du jedoch den Graph API Explorer verwenden, da hier bereits Facebook Login integriert ist und du somit einfach Schlüssel für alle deine Apps generieren kannst.
pages_manage_engagement
und pages_read_user_content
.
GET /me/accounts
-Edge. Damit forderst du deinen Nutzer an und gibst alle Seiten zurück, auf die du deiner App im letzten Schritt Zugriff gewährt hast. id
) und den Seiten-Zugriffsschlüssel (access_token
).{ "data": [ { "access_token": "EBACf...", //Copy your Page Access Token "category": "Media", "category_list": [ { "id": "163003840417682", "name": "Media" } ], "name": "Metricsaurus", "id": "1755847768034402", //Copy your Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ], "paging": { "cursors": { "before": "MTc1NTg0Nzc2ODAzNDQwMgZDZD", "after": "MTc1NTg0Nzc2ODAzNDQwMgZDZD" } } }
POST /page-id/videos
-Edge auf dem Host graph-video.facebook.com
. Wenn du Postman verwendest, nimm die Abfrage-Parameterschlüssel und -werte als form-data in den Text der Anfrage auf.curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=start" \ -F "file_size=77188035"
1755847768034402
) im Anfragepfad durch die ID deiner Seite, lege access_token
auf den Seiten-Zugriffsschlüssel fest, den du soeben kopiert hast, und file_size
auf die Gesamtgröße der Videodatei (in Bytes).{ "video_id": "225467151853466", "start_offset": "0", "end_offset": "1048576", "upload_session_id": "225467155186799" }
end_offset
.Sende eine weitere Anfrage an die POST /{page-id}/videos
-Edge und schließe deine upload_session_id
und den Namen deines ersten Video-Chunks ein.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=transfer" \ -F "start_offset=0" \ -F "upload_session_id=225467155186799" \ -F "video_file_chunk=@xaa"
Wenn du cURL verwendest, füge das @
-Symbol vor deinem Dateinamen ein.
Wenn du mit Postman arbeitest, lass das @
-Symbol weg, lege video_file_chunk
auf Datei fest (fahre mit der Maus über die Zeile, um das Dropdown-Menü aufzurufen) und wähle die erste Chunk-Datei manuell aus.
Die API antwortet mit einem neuen start_offset
. Notiere den neuen Wert.
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
auf den neuen start_offset
-Wert fest, der in der vorherigen Antwort zurückgegeben wurde. Lege außerdem video_file_chunk
auf den Namen des nächsten Video-Chunks in der Reihenfolge fest.curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=transfer" \ -F "start_offset=10485760" \ -F "upload_session_id=225467155186799" \ -F "video_file_chunk=@xab"Die API antwortet erneut mit einem neuen
start_offset
-Wert, den du zum Hochladen des nächsten Chunks in der Reihenfolge verwenden kannst.
{ "start_offset":"15728640", "end_offset":"20971520" }
Nachdem du den letzten Chunk hochgeladen hast, beendest du die Upload-Sitzung, indem du eine letzte Anfrage an denselben Endpunkt sendest und upload_phase
auf „finish“ festlegst.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=finish" \ -F "upload_session_id=225467155186799"
War der Vorgang erfolgreich, beendet die API die Upload-Sitzung und antwortet mit true
.
{ "success": true }
Wir setzen dein Video zusammen und kodieren es. Der Kodiervorgang kann abhängig von der Gesamtgröße der Videodatei mehrere Minuten in Anspruch nehmen.