Wir aktualisieren die Data API, damit sie der Zählweise von YouTube-Aufrufen für Kurzvideos entspricht.
Weitere Informationen
Mit Kanal-IDs arbeiten
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Jeff Posnick, YouTube Developer Relations – Juni 2013
Seit über einem Jahr ist es möglich, Google+-Profile mit YouTube-Kanälen zu verknüpfen. In unserem Blog haben wir bereits darüber berichtet, wie sich einige der Antworten der Data API v2 aufgrund dieser Profilverknüpfung geändert haben. Seit Kurzem ist es möglich, neue YouTube-Kanäle zu erstellen, die keinen traditionellen YouTube-Nutzernamen haben. Stattdessen werden sie nur über ihr Google+-Profil identifiziert. Viele der Informationen aus diesem Blogpost gelten weiterhin. Diese zusätzliche Einschränkung macht jedoch einige grundlegende Annahmen über YouTube-Kanäle ungültig, z. B. dass jeder Kanal immer mit einem eindeutigen YouTube-Nutzernamen verknüpft ist. Deshalb möchten wir dir einige weitere Best Practices für die Erstellung von Code mitteilen, der für alle Arten von Kanälen funktioniert.
Kanal-IDs in der Data API v3
Alle V3-Vorgänge, die mit Kanälen arbeiten, verwenden ausschließlich Kanal-IDs, um diese Kanäle zu identifizieren. Die ID für den Kanal eines bestimmten YouTube-Nutzers ist sowohl in Version 2 als auch in Version 3 der API identisch. Das vereinfacht die Migration zwischen den Versionen. Diese vollständige Abhängigkeit von Kanal-IDs kann für Entwickler verwirrend sein, die zuvor YouTube-Nutzernamen an API-Methoden übergeben haben. Bei Version 3 werden jedoch Kanäle mit und ohne alte Nutzernamen identisch behandelt. Das bedeutet, dass überall Kanal-IDs verwendet werden.
Wenn du Version 3 verwendest und die Kanal-ID abrufen möchtest, die dem aktuell autorisierten Nutzer entspricht, kannst du die Methode channels.list(part="id", mine=true)
aufrufen. Das entspricht der Anfrage nach dem Channel-Profil des Nutzers default
in Version 2.
Wenn du einen beliebigen alten YouTube-Nutzernamen hast, den du mit Version 3 der API in eine Kanal-ID umwandeln möchtest, kannst du einen channels.list(part="id", forUsername="username")
-Aufruf an die API senden.
Wenn Sie nur einen Anzeigenamen kennen und den entsprechenden Kanal finden möchten, ist die Methode search.list(part="snippet", type="channel", q="display name")
praktisch. Da Anzeigenamen nicht eindeutig sind, kann es sein, dass der Aufruf mehr als einen Artikel in der Antwort zurückgibt.
Kanal-IDs in der Data API v2
Hinweis:Die YouTube Data API (Version 2) wurde am 26. Februar 2014 eingestellt und deaktiviert. Anwendungen, die noch die v2 API verwenden, sollten sofort zur v3 API migrieren.
Für Entwickler, die die ältere Data API v2 verwenden, ist es wichtig zu wissen, dass nicht jeder YouTube-Kanal einen eindeutigen Nutzernamen hat. Glücklicherweise ist jedem YouTube-Kanal eine eindeutige Kanal-ID zugewiesen, die durch den Wert im <yt:channelId>
-Tag dargestellt wird. Diesen Wert empfehlen wir Entwicklern anstelle von Nutzernamen zu verwenden. Wenn du beispielsweise eine Datenbank hast, in der YouTube-Nutzernamen Informationen zu diesem Kanal zugeordnet sind, sollten deine älteren Einträge weiterhin funktionieren. Bestehende Kanäle behalten ihre Nutzernamen. Mit der Zeit wird es jedoch immer wahrscheinlicher, dass Sie mit Kanälen arbeiten müssen, die nicht eindeutig durch einen Nutzernamen identifiziert werden können.
Es gibt einige Faktoren, die die Umstellung von Nutzernamen zu Kanal-IDs vereinfachen. Erstens: Die Data API v2 akzeptiert Kanal-IDs in Anfrage-URLs überall dort, wo YouTube-Nutzernamen akzeptiert werden. Du kannst also ganz einfach eine Kanal-ID in deinen vorhandenen Code einfügen. Da UC_x5XG1OV2P6uZZ5FSM9Ttw
beispielsweise die Kanal-ID für den Kanal mit dem bisherigen Nutzernamen GoogleDevelopers
ist, sind die folgenden beiden URLs äquivalente API-Anfragen:
https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1
Wenn du authentifizierte V2-Anfragen sendest, musst du beim Erstellen von Anfrage-URLs nicht den Nutzernamen des autorisierten Kanals angeben. Du kannst stattdessen immer den Wert default
anstelle eines Nutzernamens (oder einer Kanal-ID) verwenden. Wenn du beispielsweise den Feed mit den Videouploads für den aktuell autorisierten Nutzer abrufen möchtest, kannst du das unter https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1
tun.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-23 (UTC).
[null,null,["Zuletzt aktualisiert: 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`."]]