Ce tutoriel vous explique comment créer une vidéo sur une Page à l’aide de l’API Video. Nous partons du principe que vous savez exécuter des requêtes cURL de base avec un outil de ligne de commande tel que Terminal ou une application telle que Postman, et que vous connaissez l’Explorateur de l’API Graph.
Vous aurez besoin des éléments suivants :
CREATE_CONTENT
.Dans la pratique courante, vous devez implémenter Facebook Login dans votre application pour obtenir des tokens d’accès par l’intermédiaire des personnes qui utilisent votre application. Cependant, pour ce tutoriel, vous pouvez utiliser l’Explorateur de l’API Graph, car il a déjà implémenté Facebook Login et qu’il permet de générer facilement des tokens pour n’importe laquelle de vos applications.
pages_manage_engagement
et pages_read_user_content
.
GET /me/accounts
. Cette opération interroge votre utilisateur·ice et renvoie toutes les Pages auxquelles vous avez autorisé l’accès à votre application à la dernière étape. id
) et son token d’accès de Page (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
sur l’hôte graph-video.facebook.com
. Si vous utilisez l’application Postman, incluez les clés et valeurs du paramètre de requête dans le corps de la demande au format 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
) dans le chemin de requête par l’ID de votre Page, définissez la valeur access_token
sur le token d’accès de Page que vous venez de copier et la valeur file_size
sur la taille totale du fichier vidéo, en octets.{ "video_id": "225467151853466", "start_offset": "0", "end_offset": "1048576", "upload_session_id": "225467155186799" }
end_offset
.Envoyez une autre requête à l’arête POST /{page-id}/videos
et incluez votre upload_session_id
et le nom de votre premier segment vidéo.
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"
Si vous utilisez cURL, incluez le symbole @
devant le nom du fichier.
Si vous utilisez Postman, omettez le symbole @
, définissez video_file_chunk
sur Fichier (survolez la ligne pour afficher le menu déroulant) et sélectionnez manuellement le fichier du premier segment.
L’API répond avec un nouveau start_offset
. Notez cette nouvelle valeur.
{ "start_offset": "10485760", "end_offset": "15728640" }
start_offset
sur la valeur start_offset
renvoyée dans la réponse précédente, et en définissant video_file_chunk
sur le nom du segment vidéo suivant dans la séquence.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 répond encore avec une nouvelle valeur
start_offset
, que vous pouvez utiliser pour importer le segment suivant dans la séquence.
{ "start_offset":"15728640", "end_offset":"20971520" }
Une fois que vous avez importé le segment final, mettez fin à la session d’importation en envoyant une dernière requête au même point de terminaison et en définissant upload_phase
sur finish.
curl -X POST \ "https://graph-video.facebook.com/1755847768034402/videos" \ -F "access_token=EBACf..." \ -F "upload_phase=finish" \ -F "upload_session_id=225467155186799"
Une fois l’opération effectuée, l’API termine la session d’importation et envoie la réponse true
.
{ "success": true }
Nous assemblerons et encoderons votre vidéo. Le processus complet d’encodage peut prendre plusieurs minutes en fonction de la taille totale de votre fichier vidéo.