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 d'une chaîne
Cet exemple récupère les vidéos mises en ligne sur une chaîne spécifique. Il comporte deux étapes :
-
Étape 1 : Récupérer l'ID de playlist des vidéos mises en ligne de la chaîne
Appelez la méthode
channels.listpour récupérer l'ID de la playlist contenant les vidéos mises en ligne de la chaîne. La valeur du paramètrepartde la requête doit inclurecontentDetailscomme l'une des parties de la ressourcechannelrécupérées. Dans la réponse de l'API, la propriétécontentDetails.relatedPlaylists.uploadscontient l'ID de playlist.Il existe plusieurs façons d'identifier la chaîne :
-
Définissez la valeur du paramètre
minesurtruepour récupérer les informations de la chaîne YouTube de l'utilisateur actuellement authentifié. Votre requête doit être autorisée à l'aide d'OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Définissez le paramètre
forUsernamesur un nom d'utilisateur YouTube pour récupérer les informations de la chaîne associée à ce nom d'utilisateur. Cet exemple définit la valeur du paramètreforUsernamesurGooglepour récupérer les informations de la chaîne YouTube officielle de Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
Définissez le paramètre
idsur l'ID de la chaîne YouTube qui identifie de manière unique la chaîne pour laquelle vous récupérez des informations. Cet exemple définit le paramètreidsurUCK8sQmJBp8GCxrOtXWBpyEA, qui identifie également la chaîne YouTube officielle de Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
Étape 2 : Récupérer la liste des vidéos mises en ligne
Appelez la méthode
playlistItems.listpour récupérer la liste des vidéos mises en ligne. Définissez la valeur du paramètreplaylistIdsur la valeur obtenue à l'étape 1. Dans cet exemple, la valeur de paramètre est définie surUUK8sQmJBp8GCxrOtXWBpyEA, qui correspond à la liste des vidéos mises en ligne sur la chaîne YouTube officielle de Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
Récupérer les vidéos les plus populaires
Cet exemple montre comment récupérer une liste des vidéos les plus populaires sur YouTube, 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.
Le classement mostPopular inclut les vidéos musicales, les films et les jeux vidéo les plus tendances.
Vous pouvez ensuite définir les paramètres suivants :
regionCode: indique à l'API de renvoyer une liste de vidéos pour la région spécifiée. La valeur de paramètre est un code pays ISO 3166-1 alpha-2. Vous pouvez utiliser la méthodei18nRegions.listpour récupérer la liste des codes de région compatibles avec 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éthodevideoCategories.listpour récupérer la liste des ID de catégorie 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 ®ionCode=es &videoCategoryId=17
Récupérer les statistiques de plusieurs vidéos
Cet exemple récupère les statistiques d'une liste de vidéos à l'aide de la méthode videos.batchGetStats.
Pour utiliser cette méthode, définissez le paramètre id de la requête sur une liste d'ID de vidéos YouTube séparés par une virgule pour lesquels vous souhaitez récupérer des statistiques. Définissez la valeur du paramètre part sur une liste séparée par une virgule des parties de la ressource videoStat que vous souhaitez inclure dans la réponse. Les parties compatibles sont snippet, statistics, contentDetails et id.
L'authentification est requise pour utiliser cette méthode sur des vidéos non publiques, mais elle n'est pas obligatoire pour les vidéos publiques. Si la requête récupère des données pour des vidéos non publiques, elle doit être correctement autorisée.
La requête ci-dessous récupère les statistiques des ID de vidéos VIDEO_ID_1 et VIDEO_ID_2 :
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats? part=snippet,statistics &id=VIDEO_ID_1,VIDEO_ID_2
Mettre en ligne une vidéo
Comme 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 afin 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 mettre en ligne une vidéo à l'aide de différents langages de programmation.
-
Le guide sur les importations avec reprise explique la séquence de requêtes HTTP qu'une application utilise pour mettre en ligne 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 de l'API Google, dont certaines offrent une prise en charge native des importations avec reprise.
-
L'exemple JavaScript pour mettre en ligne une vidéo utilise le 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
processingDetailsde la ressourcevideo, ainsi que 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 des vidéos mises en ligne 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 : Mettre en ligne la vidéo
Appelez la méthode
videos.insertpour mettre en ligne la vidéo. Si la requête aboutit, la réponse de l'API contient une ressourcevideoqui identifie l'ID vidéo unique de la vidéo mise en ligne. -
Étape 2 : Vérifier l'état de la vidéo
Appelez la méthode
videos.listpour vérifier l'état de la vidéo. Définissez la valeur du paramètreidsur l'ID vidéo obtenu à l'étape 1. Définissez la valeur du paramètrepartsurprocessingDetails.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.processingStatuspour déterminer si YouTube est toujours en train de traiter la vidéo. La valeur de la propriété passera à une valeur autre queprocessing, telle quesucceededoufailed, lorsque YouTube aura terminé le traitement de la vidéo.Le corps de la requête est une ressource
videodans laquelle la propriétéidspécifie l'ID vidéo de la vidéo que vous supprimez. Dans cet exemple, la ressource contient également un objetrecordingDetails.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. Il comporte les étapes suivantes :
-
Étape 1 : Récupérer l'ID de la vidéo
Suivez la procédure ci-dessus pour récupérer les vidéos mises en ligne pour 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éos, 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 récupération d'une liste de vidéos appartenant à l'utilisateur qui autorise la requête API est une première étape probable de ce processus.
-
Étape 2 : Modifier une vidéo
Appelez la méthode
videos.updatepour modifier une vidéo spécifique. Définissez la valeur du paramètrepartsurrecordingDetails. (La valeur du paramètre dépend des champs de métadonnées de la vidéo qui sont modifiés.)Le corps de la requête est une ressource
videodans laquelle la propriétéidspécifie l'ID vidéo de la vidéo que vous modifiez. Dans cet exemple, la ressource contient également un objetrecordingDetails.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
Mettre en ligne 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 mettre en ligne 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 celui-ci ne permet pas d'importer des fichiers multimédias, ce qui est obligatoire pour cette méthode.
Supprimer une vidéo
Cet exemple montre comment supprimer une vidéo. Il comporte les étapes suivantes :
-
Étape 1 : Récupérer l'ID de la vidéo
Suivez la procédure ci-dessus pour récupérer les vidéos mises en ligne pour 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éos, 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 supprimée que par son propriétaire, la récupération d'une liste de vidéos appartenant à l'utilisateur qui autorise la requête API est une première étape probable de ce processus.
-
Étape 2 : Supprimer une vidéo
Appelez la méthode
videos.deletepour supprimer une vidéo spécifique. Dans la requête, le paramètreidspécifie l'ID vidéo 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 APIs Explorer, vous devrez remplacer un ID de vidéo valide par la valeur du paramètreid.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. Il comporte les étapes suivantes :
-
Étape 1 : Récupérer les ID qui expliquent pourquoi la vidéo est signalée
Envoyez une requête autorisée à la méthode
videoAbuseReportReasons.listpour récupérer la liste des motifs valides pour signaler une vidéo. L'exemple de ressourcevideoAbuseReportReasonci-dessous contient des informations permettant de signaler une vidéo contenant 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 spam, vous devez fournir l'ID du motif et nous vous recommandons vivement de fournir également un motif secondaire.
-
Étape 2 : Signaler la vidéo pour contenu abusif
Envoyez une requête autorisée à la méthode
La propriétévideos.reportAbusepour signaler la vidéo. Le corps de la requête est un objet JSON qui identifie à la fois la vidéo signalée et le motif de signalement. Comme indiqué à l'étape 1, pour certains types de motifs, un motif secondaire est accepté et vivement recommandé.videoIdde l'objet JSON identifie la vidéo signalée.L'exemple d'objet JSON ci-dessous signale une vidéo pour spam ou contenu trompeur, et plus précisément pour l'utilisation d'une image de 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 trompeuse est 28.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }La requête
videos.reportAbusedoit ê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 de vidéo valide par la valeur de la propriétévideoId. N'oubliez pas que l'envoi de cette requête signalera la vidéo.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse