Mise en œuvre: vidéos

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

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

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

Cet exemple montre comment récupérer la liste des vidéos YouTube les plus populaires, qui sont sélectionnées à l'aide d'un algorithme qui combine de nombreux signaux différents pour déterminer la 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. Lorsque vous récupérez cette liste, vous pouvez également définir l'un des paramètres suivants, ou les deux:

  • regionCode: indique à l'API de renvoyer une liste de vidéos pour la région spécifiée.
  • videoCategoryId: identifie la catégorie de vidéos pour laquelle les vidéos les plus populaires doivent être récupérées.

La requête ci-dessous récupère les vidéos de sport les plus populaires en Espagne:

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

Mettre en ligne une vidéo

Étant donné qu'APIs 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 de sorte qu'elle puisse importer des vidéos avec l'API v3:

  • La documentation sur la méthode videos.insert de l'API contient plusieurs exemples de code expliquant comment mettre en ligne une vidéo avec 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 via un processus d'importation avec reprise. Ce guide est principalement destiné aux développeurs qui ne peuvent pas utiliser les bibliothèques clientes des API Google, dont certaines offrent une compatibilité native avec les importations avec reprise.

  • L'exemple JavaScript d'importation d'une vidéo utilise CORS (Cross-Origin Resource Sharing) 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 avec reprise. De plus, l'exemple montre comment vérifier l'état d'une vidéo mise en ligne en récupérant la partie processingDetails de la ressource video et comment gérer les changements d'état de la vidéo mise en ligne.

Vérifier l'état d'une vidéo mise en ligne

Cet exemple montre comment vérifier l'état d'une vidéo mise en ligne. Une vidéo mise en ligne est immédiatement visible dans le flux de vidéos mises en ligne par les utilisateurs authentifiés. Toutefois, elle 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 vidéo unique correspondant à la vidéo mise en ligne.

  • É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 traite la vidéo. Une fois le traitement de la vidéo terminé, la valeur de la propriété est remplacée par processing, par exemple succeeded ou failed.

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

    La demande ci-dessous vérifie l'état d'une vidéo. Pour terminer 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 nouvelle vidéo mise en ligne. Une fois la vidéo traitée, votre demande peut générer un bulletin ou procéder à une autre action en fonction de l'état de la vidéo.

Mettre à jour une vidéo

Cet exemple montre comment mettre à jour une vidéo pour ajouter des informations sur le moment et le lieu où elle a été enregistrée. L'exemple comprend les étapes suivantes:

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

    Suivez les étapes ci-dessus pour récupérer les vidéos mises en ligne concernant la chaîne de l'utilisateur actuellement authentifié. Cette 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 manières d'obtenir les ID vidéo, par exemple pour récupérer des résultats de recherche ou lister des éléments d'une playlist. Toutefois, étant donné qu'une vidéo ne peut être modifiée que par son propriétaire, il est probable que la première étape consiste à récupérer la liste des vidéos appartenant à l'utilisateur qui a autorisé 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 vidéo mis à jour.

    Le corps de la requête est une ressource video dans laquelle la propriété id spécifie l'ID vidéo 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 terminer 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

Importez une miniature personnalisée et définissez-la pour une vidéo

Vous pouvez utiliser la méthode thumbnails.set de l'API v3 pour importer une miniature personnalisée et la définir pour une vidéo. Dans votre demande, 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 celui-ci ne permet pas d'importer des fichiers multimédias, ce qui est obligatoire avec cette méthode.

Exemples de code associés: PHP, Python

Supprimer une vidéo

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

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

    Suivez les étapes ci-dessus pour récupérer les vidéos mises en ligne concernant la chaîne de l'utilisateur actuellement authentifié. Cette 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 manières d'obtenir les ID vidéo, par exemple pour récupérer des résultats de recherche ou lister des éléments d'une playlist. Toutefois, étant donné qu'une vidéo ne peut être supprimée que par son propriétaire, il est probable que la première étape consiste à récupérer la liste des vidéos appartenant à l'utilisateur qui a autorisé 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 vidéo de la vidéo que vous supprimez. La requête doit être autorisée via OAuth 2.0. Si vous testez cette requête dans APIs Explorer, vous devez remplacer l'ID vidéo par la valeur du paramètre id.

    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 dont le contenu est abusif. L'exemple comprend les étapes suivantes:

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

    Envoyez une requête autorisée à la méthode videoAbuseReportReasons.list afin de 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 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, ce motif est associé à une liste de motifs secondaires. Lorsque vous signalez une vidéo pour cause de spam, vous devez fournir la pièce d'identité pour laquelle le motif est indiqué. Nous vous recommandons fortement d'en indiquer également une deuxième.

  • Étape 2: Signalez la vidéo comme présentant un 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 pour laquelle elle est signalée. Comme indiqué à l'étape 1, un motif secondaire est accepté et fortement recommandé 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 si elle contient du spam ou du contenu trompeur, et plus précisément, si elle utilise une miniature trompeuse. Comme indiqué dans l'exemple d'objet JSON ci-dessus, l'ID du spam ou contenu trompeur est S. L'ID d'une miniature trompeuse 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 un ID vidéo valide par la valeur de la propriété videoId. Sachez que l'envoi de cette demande entraînera le signalement de la vidéo concernée.

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