Questo tutorial mostra come utilizzare l'API Video per creare un video su una Pagina. Presuppone che tu sappia come eseguire richieste cURL di base con uno strumento da riga di comando come Terminal oppure con un'app come Postman e che abbia sufficiente familiarità con il Tool di esplorazione per la API Graph.
Ecco cosa ti servirà:
CREATE_CONTENT
.Come pratica generale, devi implementare Facebook Login nella tua app e usarlo per ottenere token d'accesso dagli utenti della tua app. Tuttavia, per questo tutorial, puoi utilizzare il Tool di esplorazione per la API Graph poiché ha già Facebook Login implementato, il che ti consente di generare facilmente token per qualsiasi tua app.
pages_manage_engagement
e pages_read_user_content
.
GET /me/accounts
. Questo interroga il tuo utente e restituisce tutte le Pagine per cui hai autorizzato la tua app ad accedere nell'ultimo passaggio. id
) e il token d'accesso della Pagina (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
sull'host graph-video.facebook.com
. Se utilizzi Postman, includi le chiavi e i valori dei parametri di query nella richiesta Corpo come form-data.curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=start" \ -F "file_size=77188035"
1755847768034402
) nel percorso della richiesta con l'ID della tua Pagina, imposta access_token
sul token d'accesso della Pagina appena copiato e file_size
sulla dimensione totale del file video, in byte.{ "video_id": "225467151853466", "start_offset": "0", "end_offset": "1048576", "upload_session_id": "225467155186799" }
end_offset
.Invia un'altra richiesta al segmento POST /{page-id}/videos
e includi il tuo upload_session_id
e il nome della prima porzione del video.
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"
Se utilizzi cURL, includi il simbolo @
prima del nome del file.
Se utilizzi Postman, ometti il simbolo @
, imposta video_file_chunk
su File (passa il mouse sulla riga per attivare il menu a discesa) e seleziona manualmente il file della prima porzione.
L'API risponderà con un nuovo start_offset
. Acquisisci il nuovo valore.
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
sul nuovo valore start_offset
restituito nella risposta precedente e imposta video_file_chunk
sul nome della successiva porzione di video della sequenza.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"L'API risponderà ancora una volta con un nuovo valore
start_offset
, che puoi utilizzare per caricare la successiva porzione della sequenza.
{ "start_offset":"15728640", "end_offset":"20971520" }
Dopo aver caricato l'ultima porzione, termina la sessione di caricamento inviando una richiesta finale allo stesso endpoint e imposta upload_phase
su fine.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=finish" \ -F "upload_session_id=225467155186799"
In caso di azione eseguita correttamente, l'API terminerà la sessione di caricamento e risponderà con true
.
{ "success": true }
Procederemo ora ad assemblare e codificare il tuo video. Il processo di codifica può richiedere alcuni minuti per essere completato, a seconda delle dimensioni totali del file video.