Kami memperbarui Data API agar sesuai dengan cara YouTube menghitung penayangan untuk Shorts.
Pelajari lebih lanjut
Menggunakan ID Channel
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Jeff Posnick, YouTube Developer Relations – Juni 2013
Selama lebih dari setahun, Anda dapat menautkan profil Google+ dengan channel YouTube, dan kami telah membuat postingan tentang perubahan beberapa respons Data API v2 sebagai akibat dari penautan profil tersebut. Baru-baru ini, Anda dapat membuat channel YouTube baru yang tidak memiliki nama pengguna YouTube tradisional yang terkait dengannya, dan hanya diidentifikasi oleh profil Google+-nya. Sebagian besar informasi dari postingan blog tersebut masih berlaku, tetapi detail tambahan ini membatalkan beberapa asumsi mendasar tentang channel YouTube – seperti bahwa setiap channel akan selalu dikaitkan dengan nama pengguna YouTube yang unik – dan kami ingin menindaklanjuti dengan beberapa praktik terbaik tambahan untuk menulis kode yang berfungsi dengan semua jenis channel.
ID saluran di Data API v3
Semua operasi v3 yang berfungsi dengan channel menggunakan ID channel secara eksklusif sebagai cara untuk mengidentifikasi channel tersebut. ID untuk channel pengguna YouTube tertentu identik di API v2 dan v3, sehingga menyederhanakan migrasi antar-versi. Ketergantungan penuh pada ID channel ini mungkin membingungkan bagi developer yang sebelumnya terbiasa meneruskan nama pengguna YouTube ke metode API, tetapi v3 dirancang untuk memperlakukan channel dengan dan tanpa nama pengguna lama secara identik, dan itu berarti menggunakan ID channel di mana saja.
Jika menggunakan v3 dan ingin mengambil ID channel yang sesuai dengan pengguna yang saat ini diberi otorisasi, Anda dapat memanggil metode channels.list(part="id", mine=true)
. Hal ini setara dengan meminta profil saluran pengguna default
di v2.
Jika Anda memiliki nama pengguna YouTube lama arbitrer yang perlu diterjemahkan menjadi ID channel menggunakan API v3, Anda dapat melakukan panggilan channels.list(part="id", forUsername="username")
ke API.
Jika Anda hanya mengetahui nama tampilan dan ingin menemukan channel yang sesuai, metode search.list(part="snippet", type="channel", q="display name")
akan berguna. Anda harus siap menghadapi kemungkinan panggilan menampilkan lebih dari satu item dalam respons, karena nama tampilan tidak unik.
ID channel di Data API v2
Catatan: YouTube Data API (v2) tidak digunakan lagi sejak 26 Februari 2014, dan API tersebut telah dinonaktifkan. Aplikasi yang masih menggunakan v2 API harus segera bermigrasi ke v3 API.
Hal terpenting bagi developer yang menggunakan Data API v2 lama adalah Anda harus menyadari bahwa tidak semua channel YouTube memiliki nama pengguna yang unik. Untungnya, setiap channel YouTube dijamin memiliki ID channel unik yang terkait dengannya, yang diwakili oleh nilai dalam tag <yt:channelId>
, dan itulah nilai yang sebaiknya digunakan developer, bukan nama pengguna. Misalnya, jika Anda memiliki database yang memetakan nama pengguna YouTube ke informasi tentang channel tersebut, entri lama Anda akan terus berfungsi. (Channel yang sudah ada tidak akan kehilangan nama penggunanya.) Namun, seiring waktu, Anda akan semakin sering menggunakan channel yang tidak dapat diidentifikasi secara unik dengan nama pengguna.
Ada beberapa faktor yang menyederhanakan transisi dari nama pengguna ke ID channel. Pertama, Data API v2 menerima ID channel di URL permintaan di mana pun ID channel diterima, yang berarti Anda dapat menukar ID channel dengan lancar ke dalam kode yang ada. Misalnya, karena UC_x5XG1OV2P6uZZ5FSM9Ttw
adalah ID channel untuk channel dengan nama pengguna lama GoogleDevelopers
, dua URL berikut adalah permintaan API yang setara:
https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1
Hal lain yang perlu diingat adalah setiap kali Anda membuat permintaan v2 yang diautentikasi, Anda tidak perlu menyertakan nama pengguna channel yang diotorisasi saat membuat URL permintaan. Anda selalu dapat menggunakan nilai default
sebagai pengganti nama pengguna (atau ID channel). Jadi, jika ingin mengambil feed upload video untuk pengguna yang saat ini diberi otorisasi, misalnya, Anda dapat melakukannya di https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1
.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-11-23 UTC.
[null,null,["Terakhir diperbarui pada 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`."]]