Premiers pas

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.

Avant de commencer

Vous aurez besoin des éléments suivants :

  • Une application Facebook existante. Si ce n’est pas le cas, accédez à Facebook for Developers, cliquez sur Mes applications et créez-en une.
  • Une vidéo comprise entre 10 et 20 Mo fractionnée en plusieurs segments de 5 Mo placés dans un même répertoire.
  • Une Page sur laquelle vous pouvez effectuer des tâchesCREATE_CONTENT.
  • Un accès à un outil de ligne de commande (tel que Terminal) ou à une application (telle que Postman) pouvant exécuter des requêtes cURL.

Étape 1 : Obtenir un token d’accès utilisateur

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.

  1. Chargez l’Explorateur de l’API Graph, puis, dans le menu déroulant App Facebook, sélectionnez votre application.

  2. Dans le menu déroulant Utilisateur ou Page, sélectionnez Obtenir un token d’accès utilisateur et utilisez votre profil pour vous authentifier. Si vous réutilisez une ancienne application, il se peut que vous soyez déjà authentifié·e.

  3. Dans la section Autorisations, utilisez le champ de recherche Ajouter une autorisation pour rechercher et sélectionner les autorisations suivantes : pages_manage_engagement et pages_read_user_content.
  4. Cliquez sur Générer un token d’accès.
  5. Dans la fenêtre modale qui s’affiche, continuez en utilisant vos propres informations d’identification et choisissez la Page vers laquelle vous souhaitez importer votre vidéo.
  6. Cliquez plusieurs fois sur Suivant jusqu’à fermer la fenêtre modale. Cette opération a pour effet d’accorder à votre application les autorisations que vous avez sélectionnées et de générer un token d’accès utilisateur.
  7. Facultatif. Cliquez sur l’icône d’informations bleue pour vérifier que votre application dispose des autorisations appropriées (portées).

Étape 2 : Obtenir votre ID de Page et son token

  1. À l’aide de l’Explorateur de l’API Graph, envoyez une requête à l’arête 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.
  2. Identifiez votre Page dans la réponse et copiez son ID (id) et son token d’accès de Page (access_token).
  3. {
      "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"
        }
      }
    }
    

Étape 3 : Créer une session vidéo

  1. Dans votre outil de ligne de commande, accédez au dossier qui contient les segments de votre vidéo, puis envoyez une requête cURL à l’arête 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.

  2. Exemple de requête
    curl -X POST \
      "https://graph-video.facebook.com/1755847768034402/videos" \
      -F "access_token=EBACf..." \
      -F "upload_phase=start" \
      -F "file_size=77188035"
    
  3. Remplacez l’ID de Page (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.

  4. L’API renvoie une session vidéo :
    {
      "video_id": "225467151853466",
      "start_offset": "0",
      "end_offset": "1048576",
      "upload_session_id": "225467155186799"
    }
    
  5. Copiez toutes les valeurs renvoyées, sauf end_offset.

Étape 4 : Importer le premier segment vidéo

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.

Exemple de requête

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

Étape 5 : Importer les segments vidéo restants

  1. Répétez la requête en définissant cette fois 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.
  2. 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"
    }
    
  3. Répétez cette étape jusqu’à avoir importé tous les segments vidéo restants dans le bon ordre. Le programme que vous avez utilisé pour fractionner votre fichier vidéo en segments devrait se charger de nommer vos segments dans un ordre séquentiel.

Étape 6 : Terminer la session d’importation

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.

Exemple de requête

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.