Implémentation: vidéos

Les exemples suivants montrent comment utiliser l'API YouTube Data (v3) pour effectuer des fonctions liées aux vidéos.

Récupérer les vidéos mises en ligne sur une chaîne

Cet exemple récupère les vidéos mises en ligne sur une chaîne spécifique. L'exemple comporte deux étapes :

Cet exemple montre comment récupérer une liste des vidéos les plus populaires sur YouTube. Elles sont sélectionnées à l'aide d'un algorithme qui combine de nombreux signaux différents pour déterminer leur popularité globale.

Pour récupérer la liste des vidéos les plus populaires, appelez la méthode videos.list et définissez la valeur du paramètre chart sur mostPopular. Le classement mostPopular inclut les vidéos musicales, les films et les vidéos de jeux les plus populaires.

Vous pouvez ensuite définir les paramètres suivants (facultatif) :

  • regionCode : indique à l'API de renvoyer une liste de vidéos pour la région spécifiée. La valeur du paramètre est un code pays ISO 3166-1 alpha-2. Vous pouvez utiliser la méthode i18nRegions.list pour récupérer la liste des codes régionaux acceptés par YouTube.
  • videoCategoryId : identifie la catégorie de vidéos pour laquelle les vidéos les plus populaires doivent être récupérées. Vous pouvez utiliser la méthode videoCategories.list pour récupérer la liste des ID de catégories compatibles avec YouTube.

Par exemple, la requête suivante récupère les vidéos de sport les plus populaires en Espagne :

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17
  

Mettre en ligne une vidéo

Étant donné qu'API Explorer ne permet pas d'importer des fichiers, cette description ne renvoie pas à un exemple exécutable. Les ressources suivantes vous aideront à modifier votre application pour qu'elle puisse mettre en ligne des vidéos à l'aide de l'API v3 :

  • La documentation de la méthode videos.insert de l'API contient plusieurs exemples de code qui expliquent comment importer une vidéo à l'aide de différents langages de programmation.

  • Le guide Importations avec reprise explique la séquence de requêtes HTTP qu'une application utilise pour importer des vidéos à l'aide d'un processus d'importation avec reprise. Ce guide est principalement destiné aux développeurs qui ne peuvent pas utiliser les bibliothèques clientes pour les API Google, dont certaines offrent une compatibilité native avec les importations pouvant être reprises.

  • L'exemple JavaScript pour importer une vidéo utilise CORS (partage des ressources entre origines multiples) pour montrer comment importer un fichier vidéo via une page Web. La bibliothèque d'importation CORS utilisée par l'API v3 est naturellement compatible avec l'importation pouvant être reprise. L'exemple montre également comment vérifier l'état d'une vidéo mise en ligne en récupérant la partie processingDetails de la ressource video, ainsi que comment gérer les changements d'état de la vidéo mise en ligne.

Vérifier l'état d'une vidéo importée

Cet exemple montre comment vérifier l'état d'une vidéo importée. Une vidéo importée est immédiatement visible dans le flux des vidéos importées de l'utilisateur authentifié. Toutefois, la vidéo ne sera pas visible sur YouTube tant qu'elle n'aura pas été traitée.

  • Étape 1 : Importez la vidéo

    Appelez la méthode videos.insert pour mettre en ligne la vidéo. Si la requête aboutit, la réponse de l'API contient une ressource video qui identifie l'ID unique de la vidéo importée.

  • Étape 2 : Vérifiez l'état de la vidéo

    Appelez la méthode videos.list pour vérifier l'état de la vidéo. Définissez la valeur du paramètre id sur l'ID vidéo obtenu à l'étape 1. Définissez la valeur du paramètre part sur processingDetails.

    Si la requête est traitée correctement, la réponse de l'API contient une ressource video. Vérifiez la valeur de la propriété processingDetails.processingStatus pour déterminer si YouTube est toujours en train de traiter la vidéo. La valeur de la propriété passera à une autre valeur que processing, comme succeeded ou failed, une fois que YouTube aura fini de traiter la vidéo.

    Le corps de la requête est une ressource video dans laquelle la propriété id spécifie l'ID de la vidéo que vous supprimez. Dans cet exemple, la ressource contient également un objet recordingDetails.

    La requête ci-dessous vérifie l'état d'une vidéo. Pour exécuter la requête dans APIs Explorer, vous devez définir la valeur de la propriété id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

Remarque : Votre application peut interroger l'API pour vérifier régulièrement l'état d'une vidéo récemment mise en ligne. Une fois la vidéo traitée, votre application peut créer un bulletin ou effectuer une autre action en fonction de l'état de la vidéo.

Modifier une vidéo

Cet exemple montre comment modifier une vidéo pour ajouter des informations sur l'heure et le lieu où elle a été enregistrée. L'exemple comporte les étapes suivantes :

  • Étape 1 : Récupérez l'ID de la vidéo

    Suivez les étapes ci-dessus pour récupérer les vidéos mises en ligne sur la chaîne de l'utilisateur actuellement authentifié. La liste peut être utilisée pour afficher une liste de vidéos, en utilisant l'ID de chaque vidéo comme clé.

    Remarque : Il existe de nombreuses autres façons d'obtenir des ID de vidéo, par exemple en récupérant les résultats de recherche ou en listant les éléments d'une playlist. Toutefois, comme une vidéo ne peut être modifiée que par son propriétaire, la première étape de ce processus consiste probablement à récupérer la liste des vidéos appartenant à l'utilisateur qui autorise la requête API.

  • Étape 2 : Modifiez une vidéo

    Appelez la méthode videos.update pour mettre à jour une vidéo spécifique. Définissez la valeur du paramètre part sur recordingDetails. (La valeur du paramètre dépend des champs de métadonnées de la vidéo qui sont mis à jour.)

    Le corps de la requête est une ressource video dans laquelle la propriété id spécifie l'ID de la vidéo que vous mettez à jour. Dans cet exemple, la ressource contient également un objet recordingDetails.

    L'exemple de ressource ci-dessous indique que la vidéo a été enregistrée le 30 octobre 2013 à Boston :

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    Pour exécuter la requête dans APIs Explorer, vous devez définir la valeur de la propriété id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

Importer une image de miniature personnalisée et la définir pour une vidéo

Vous pouvez utiliser la méthode thumbnails.set de l'API v3 pour importer une image de miniature personnalisée et la définir pour une vidéo. Dans votre requête, la valeur du paramètre videoId identifie la vidéo pour laquelle la miniature sera utilisée.

Cette requête ne peut pas être testée à l'aide d'APIs Explorer, car cet outil ne permet pas d'importer des fichiers multimédias, ce qui est nécessaire pour cette méthode.

Exemples de code associés : PHP, Python

Supprimer une vidéo

Cet exemple montre comment supprimer une vidéo. L'exemple comporte les étapes suivantes :

  • Étape 1 : Récupérez l'ID de la vidéo

    Suivez les étapes ci-dessus pour récupérer les vidéos mises en ligne sur la chaîne de l'utilisateur actuellement authentifié. La liste peut être utilisée pour afficher une liste de vidéos, en utilisant l'ID de chaque vidéo comme clé.

    Remarque : Il existe de nombreuses autres façons d'obtenir des ID de vidéo, par exemple en récupérant les résultats de recherche ou en listant les éléments d'une playlist. Toutefois, étant donné qu'une vidéo ne peut être supprimée que par son propriétaire, la première étape de ce processus consiste probablement à récupérer la liste des vidéos appartenant à l'utilisateur qui autorise la requête API.

  • Étape 2 : Supprimez une vidéo

    Appelez la méthode videos.delete pour supprimer une vidéo spécifique. Dans la requête, le paramètre id spécifie l'ID de la vidéo que vous supprimez. La requête doit être autorisée à l'aide d'OAuth 2.0. Si vous testez cette requête dans l'explorateur d'API, vous devrez remplacer la valeur du paramètre id par un ID vidéo valide.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Signaler une vidéo abusive

Cet exemple montre comment signaler une vidéo contenant du contenu abusif. L'exemple comporte les étapes suivantes :

  • Étape 1 : Récupérez les ID expliquant pourquoi la vidéo est signalée

    Envoyez une requête autorisée à la méthode videoAbuseReportReasons.list pour récupérer la liste des motifs valides pour signaler une vidéo. L'exemple de ressource videoAbuseReportReason ci-dessous contient des informations permettant de signaler une vidéo qui comporte du spam ou présente du contenu trompeur.

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

    Comme indiqué dans la ressource, cette raison est associée à une liste de raisons secondaires. Lorsque vous signalez une vidéo pour spam, vous devez indiquer l'ID du motif et nous vous encourageons vivement à fournir également un motif secondaire.

  • Étape 2 : Signalez la vidéo pour contenu abusif

    Envoyez une requête autorisée à la méthode videos.reportAbuse pour signaler la vidéo. Le corps de la requête est un objet JSON qui identifie à la fois la vidéo signalée et la raison du signalement. Comme indiqué à l'étape 1, une raison secondaire est acceptée et fortement recommandée pour certains types de raisons.

    La propriété videoId de l'objet JSON identifie la vidéo signalée.

    L'exemple d'objet JSON ci-dessous signale une vidéo pour contenu trompeur ou spam, et plus précisément pour utilisation d'une image miniature trompeuse. Comme indiqué dans l'exemple d'objet JSON ci-dessus, l'ID du contenu Spam ou trompeur est S. L'ID d'une miniature pouvant prêter à confusion est 28.

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    La requête videos.reportAbuse doit être autorisée à l'aide d'OAuth 2.0. Le lien ci-dessous charge l'objet JSON ci-dessus dans APIs Explorer. Pour tester la requête, vous devez remplacer la valeur de la propriété videoId par un ID vidéo valide. N'oubliez pas que l'envoi de cette demande signalera la vidéo.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse