Publication

L’API Video vous permet de publier des vidéos et des reels sur les Pages Facebook.

Conditions requises

Pour publier une vidéo sur une Page, vous aurez besoin des éléments suivants :

  • Un token d’accès de Page demandé par une personne autorisée à effectuer la tâche CREATE_CONTENT sur la Page
  • La personne qui demande le token doit autoriser votre application à accéder aux autorisations suivantes via Facebook Login :
  • Un alias vidéo
    • Vous recevez cet alias lorsque vous importez votre fichier vidéo sur les serveurs Meta via l’API Resumable Upload

Publier une vidéo

Pour publier une vidéo, envoyez une requête POST au point de terminaison /<PAGE_ID>/videos :

curl -X POST \
  "https://graph-video.facebook.com/v21.0/<PAGE_ID>/videos" \
  -F "access_token=<PAGE_ACCESS_TOKEN>" \
  -F "title=<VIDEO_TITLE>" \
  -F "description=<VIDEO_DESCRIPTION>" \ 
  -F "fbuploader_video_file_chunk=<UPLOADED_FILE_HANDLE>"

Si la requête aboutit, votre application reçoit une réponse JSON contenant l’ID de votre vidéo.

{
  "id":"<VIDEO_ID>"
}

Importer un fichier vidéo

Le contenu suivant est extrait de la documentation sur l’API Resumable Upload.

Importer un fichier

L’API Upload avec reprise vous permet d’importer des fichiers volumineux dans l’API Graph de Meta et de reprendre les sessions d’importation interrompues sans avoir à tout recommencer. Une fois votre fichier importé, vous pouvez le publier.

Les références des points de terminaison qui autorisent les alias de fichiers importés indiquent si ces points de terminaison acceptent les alias renvoyés par l’API Upload avec reprise.

Avant de commencer

Ce guide suppose que vous avez lu la présentation de l’API Graph et les guides de développement Meta, et que vous avez effectué toutes les démarches nécessaires pour développer avec Meta.

Vous aurez besoin des éléments suivants :

  • ID d’application Meta
  • Fichier dans l’un des formats suivants :
    • pdf
    • jpeg
    • jpg
    • png
  • Token d’accès utilisateur

Étape 1 : démarrer une session d’importation

Pour démarrer une session d’importation, envoyez une requête POST au point de terminaison /<APP_ID>/uploads, où <APP_ID> représente l’ID Meta de votre application, avec les paramètres requis suivants :

  • file_name : nom de votre fichier
  • file_length : taille du fichier en octets
  • file_type : type MIME du fichier Les valeurs valides sont les suivantes : application/pdf, image/jpeg, image/jpg, image/png et video/mp4

Syntaxe de la requête

Le code a été mis en forme pour plus de lisibilité.

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>"

Si la requête aboutit, votre application reçoit une réponse JSON contenant l’ID de la session d’importation.

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

Étape 2 : démarrer l’importation

Pour démarrer l’importation du fichier, envoyez une requête POST au point de terminaison /upload:<UPLOAD_SESSION_ID> avec file_offset défini sur 0.

Syntaxe de la requête

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>

Vous devez inclure le token d’accès dans l’en-tête, sinon l’appel échouera.

Si la requête aboutit, votre application reçoit l’alias du fichier, que vous utiliserez dans vos appels d’API pour publier le fichier sur votre point de terminaison.

{
  "h": "<UPLOADED_FILE_HANDLE>"
}

Exemple de réponse

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

Reprendre une importation interrompue

Si vous avez lancé une session d’importation mais qu’elle prend plus de temps que prévu ou a été interrompue, envoyez une requête GET au point de terminaison /upload:<UPLOAD_SESSION_ID> à partir de l’Étape 1.

Syntaxe de la requête

Le code a été mis en forme pour plus de lisibilité.

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

En cas de succès, votre application renvoie une réponse JSON avec la valeur file_offset que vous pouvez utiliser pour reprendre le processus d’importation à partir du point d’interruption.

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

Utilisez cette valeur file_offset pour envoyer une autre requête POST comme vous l’avez fait à l’Étape 2. Cela permettra de reprendre le processus d’importation à partir du point d’interruption.

Étapes suivantes