Nous mettons à jour l'API Data pour qu'elle corresponde à la façon dont YouTube comptabilise les vues des Shorts.
En savoir plus
Utiliser les ID de chaînes
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Jeff Posnick, relations avec les développeurs YouTube – juin 2013
Depuis plus d'un an, il est possible d'associer des profils Google+ à des chaînes YouTube. Nous avons publié un article sur la façon dont certaines réponses de la version 2 de l'API Data ont changé en raison de cette association. Plus récemment, il est devenu possible de créer des chaînes YouTube sans nom d'utilisateur YouTube classique, mais identifiées uniquement par leur profil Google+. La plupart des informations de cet article de blog restent valables, mais cette nouvelle fonctionnalité invalide certaines hypothèses fondamentales concernant les chaînes YouTube (par exemple, que chacune d'elles est toujours associée à un nom d'utilisateur YouTube unique). Nous souhaitons donc vous donner quelques bonnes pratiques supplémentaires pour écrire du code compatible avec toutes les chaînes.
ID de chaîne dans l'API Data v3
Toutes les opérations v3 qui fonctionnent avec des chaînes utilisent exclusivement les ID de chaîne pour les identifier. L'ID de la chaîne d'un utilisateur YouTube spécifique est identique dans les versions 2 et 3 de l'API, ce qui simplifie les migrations entre les versions. Cette dépendance totale aux ID de chaîne peut dérouter les développeurs qui avaient l'habitude de transmettre des noms d'utilisateur YouTube aux méthodes de l'API. Toutefois, la version 3 a été conçue pour traiter les chaînes avec et sans anciens noms d'utilisateur de la même manière, ce qui implique d'utiliser les ID de chaîne partout.
Si vous utilisez la version 3 et que vous souhaitez récupérer l'ID de la chaîne correspondant à l'utilisateur actuellement autorisé, vous pouvez appeler la méthode channels.list(part="id", mine=true)
. Cela équivaut à demander le profil de la chaîne de l'utilisateur default
dans la version 2.
Si vous vous trouvez avec un ancien nom d'utilisateur YouTube arbitraire que vous devez traduire en ID de chaîne à l'aide de la version 3 de l'API, vous pouvez effectuer un appel channels.list(part="id", forUsername="username")
à l'API.
Si vous ne connaissez qu'un nom à afficher et que vous souhaitez trouver la chaîne correspondante, la méthode search.list(part="snippet", type="channel", q="display name")
vous sera utile. Vous devez être prêt à gérer la possibilité que l'appel renvoie plusieurs éléments dans la réponse, car les noms à afficher ne sont pas uniques.
ID de chaîne dans l'API Data v2
Remarque:L'API YouTube Data (v2) est obsolète depuis le 26 février 2014 et a été désactivée. Les applications qui utilisent toujours l'API v2 doivent passer immédiatement à l'API v3.
Le principal point à retenir pour les développeurs qui utilisent l'ancienne API Data v2 est qu'toutes les chaînes YouTube ne disposent pas d'un nom d'utilisateur unique. Heureusement, chaque chaîne YouTube est associée à un ID de chaîne unique, représenté par la valeur de la balise <yt:channelId>
. C'est cette valeur que nous recommandons aux développeurs d'utiliser à la place des noms d'utilisateur. Par exemple, si vous disposez d'une base de données qui met en correspondance des noms d'utilisateur YouTube avec des informations sur la chaîne, vos anciennes entrées devraient continuer à fonctionner. (Les canaux existants ne perdront pas leur nom d'utilisateur.) Toutefois, au fil du temps, vous devrez de plus en plus probablement travailler avec des chaînes qui ne peuvent pas être identifiées de manière unique par un nom d'utilisateur.
Plusieurs facteurs simplifient la transition des noms d'utilisateur aux ID de chaîne. Tout d'abord, la version 2 de l'API Data accepte les ID de chaîne dans les URL de requête partout où elle accepte les noms d'utilisateur YouTube. Vous pouvez donc remplacer facilement un ID de chaîne dans votre code existant. Par exemple, comme UC_x5XG1OV2P6uZZ5FSM9Ttw
est l'ID de la chaîne associée à l'ancien nom d'utilisateur GoogleDevelopers
, les deux URL suivantes sont des requêtes API équivalentes:
https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1
N'oubliez pas non plus que lorsque vous envoyez des requêtes v2 authentifiées, vous n'avez jamais besoin d'inclure le nom d'utilisateur de la chaîne autorisée lorsque vous créez des URL de requête. Vous pouvez toujours utiliser la valeur default
à la place d'un nom d'utilisateur (ou d'un ID de chaîne). Par exemple, si vous souhaitez récupérer le flux des vidéos mises en ligne pour l'utilisateur actuellement autorisé, vous pouvez le faire à l'adresse https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1
.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/23 (UTC).
[null,null,["Dernière mise à jour le 2024/11/23 (UTC)."],[[["\u003cp\u003eYouTube channels can now be identified solely by their Google+ profile, without a traditional YouTube username.\u003c/p\u003e\n"],["\u003cp\u003eThe YouTube Data API v3 exclusively uses channel IDs to identify channels, offering consistency for channels with or without legacy usernames.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use the \u003ccode\u003echannels.list\u003c/code\u003e method in v3 to retrieve a channel ID based on the authorized user or a legacy username.\u003c/p\u003e\n"],["\u003cp\u003eIn v2, it's crucial to recognize that not every YouTube channel has a unique username, but all have a unique channel ID, which is the recommended identifier.\u003c/p\u003e\n"],["\u003cp\u003eThe deprecated Data API v2 can use channel IDs in place of usernames in request URLs, and \u003ccode\u003edefault\u003c/code\u003e can be used instead of usernames for authenticated v2 requests.\u003c/p\u003e\n"]]],["YouTube introduced channels solely identified by Google+ profiles, lacking traditional usernames. Data API v3 exclusively uses channel IDs to identify channels, simplifying the process for developers. To get the authorized user's channel ID, use `channels.list(part=\"id\", mine=true)`. To translate a username to a channel ID, use `channels.list(part=\"id\", forUsername=\"username\")`. For display names, use `search.list(part=\"snippet\", type=\"channel\", q=\"display name\")`. Data API v2, now deprecated, also utilizes channel IDs, allowing them to replace usernames in requests.\n"],null,["# Work with Channel IDs\n\n*Jeff Posnick, YouTube Developer Relations -- June 2013*\nFor more than a year, it's been possible to link Google+ profiles with YouTube channels, and we've [blogged](http://apiblog.youtube.com/2012/03/youtube-google-api-and-you.html) about how some of the Data API v2 responses have changed as a result of that profile link. More recently, it has become possible to create new YouTube channels that don't have a traditional YouTube username associated with them and, instead, are [solely identified by their Google+ profile](http://youtubecreator.blogspot.com/2013/04/using-google-page-identity-on-youtube.html). Much of the information from that blog post still applies, but this extra wrinkle does invalidate some fundamental assumptions about YouTube channels -- like that each one will always be associated with a unique YouTube username -- and we wanted to follow up with some additional best practices to write code that works with all flavors of channels.\n\nChannel IDs in the Data API v3\n------------------------------\n\nAll v3 operations that work with channels use [channel IDs](/youtube/v3/docs/channels#id) exclusively as a means of identifying those channels. The ID for a specific YouTube user's channel is identical in both v2 and v3 of the API, simplifying migrations between versions. This complete reliance on channel IDs might be perplexing for developers who were previously used to passing YouTube usernames to API methods, but v3 was designed to treat channels with and without legacy usernames identically, and that means using channel IDs everywhere.\n\nIf you are using v3 and want to retrieve the channel ID that corresponds to the currently authorized user, you can call the [channels.list(part=\"id\", mine=true)](https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=id&mine=true) method. This is equivalent to asking for the channel profile of the `default` user in v2.\n\nIf you ever do find yourself with an arbitrary legacy YouTube username that you need to translate into a channel ID using v3 of the API, you can make a [channels.list(part=\"id\", forUsername=\"\u003cvar class=\"apiparam\" translate=\"no\"\u003eusername\u003c/var\u003e\")](https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=id&forUsername=YouTubeDev) call to the API.\n\nIf you only know a display name and are looking to find the corresponding channel, the [search.list(part=\"snippet\", type=\"channel\", q=\"\u003cvar class=\"apiparam\" translate=\"no\"\u003edisplay name\u003c/var\u003e\")](https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&q=YouTube+for+Developers&type=channel) method will come in handy. You should be prepared to deal with the possibility of the call returning more than one item in the response, since display names are not unique.\n\nChannel IDs in the Data API v2\n------------------------------\n\n**Note:** The YouTube Data API (v2) has been deprecated since February 26, 2014, and the API has been [turned down](http://youtube-eng.blogspot.com/2015/04/bye-bye-youtube-data-api-v2.html). Applications still using the v2 API should migrate to the v3 API immediately.\n\nThe biggest takeaway for developers using the older [Data API v2](/youtube/2.0/developers_guide_protocol_audience) is that you must be aware that **not every YouTube channel has a unique username** . Fortunately, every YouTube channel is guaranteed to have a unique channel ID associated with it, represented by the value in the [`\u003cyt:channelId\u003e` tag](/youtube/2.0/reference#youtube_data_api_tag_yt:channelId), and that's the value that we recommend developers use instead of usernames. For instance, if you have a database that maps YouTube usernames to information about that channel, your older entries should continue to work. (Existing channels won't lose their usernames.) However, as time goes on, it will become more and more likely that you'll have to work with channels that can't be uniquely identified by a username.\n\nA couple of factors simplify the transition from usernames to channel IDs. First, the Data API v2 accepts channel IDs in request URLs wherever it accepts YouTube usernames, meaning that you can seamlessly swap a channel ID into your existing code. For example, since `UC_x5XG1OV2P6uZZ5FSM9Ttw` is the channel ID for the channel with the legacy username `GoogleDevelopers`, the following two URLs are equivalent API requests: \n\n https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1\n https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1\n\nAnother thing to keep in mind is that whenever you're making [authenticated](/youtube/2.0/developers_guide_protocol_authentication) v2 requests, you never need to include the authorized channel's username when constructing request URLs. You can always use the value `default` in place of a username (or channel ID). So if you want to retrieve the video uploads feed for the currently authorized user, for instance, you can do so at `https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1`."]]