Jeff Posnick, Hubungan Developer YouTube – Juni 2013
Selama lebih dari setahun, Anda dapat menautkan profil Google+ dengan channel YouTube, dan kami telah membuat blog tentang perubahan beberapa respons Data API v2 karena link profil tersebut. Kini, Anda dapat membuat channel YouTube baru yang tidak memiliki nama pengguna YouTube tradisional yang terkait dengannya, dan sebaliknya, hanya dapat diidentifikasi oleh profil Google+ miliknya. Sebagian besar informasi dari postingan blog tersebut masih berlaku, tetapi kerut tambahan ini tidak memvalidasi beberapa asumsi dasar tentang channel YouTube. Misalnya, masing-masing akan selalu dikaitkan dengan nama pengguna YouTube yang unik. Kami ingin menindaklanjuti beberapa praktik terbaik tambahan untuk menulis kode yang berfungsi dengan semua ragam channel.
ID saluran di Data API v3
Semua operasi v3 yang berfungsi dengan saluran menggunakan ID saluran secara eksklusif untuk mengidentifikasi saluran 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 digunakan untuk 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 Anda menggunakan v3 dan ingin mengambil ID saluran yang sesuai dengan pengguna yang saat ini diizinkan, Anda dapat memanggil metode channels.list(part="id", mine=true)
. Ini sama dengan meminta profil channel pengguna default
di v2.
Jika Anda mendapati diri Anda memiliki nama pengguna YouTube lama yang arbitrer yang perlu diterjemahkan ke 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 saluran yang sesuai, metode search.list(part="snippet", type="channel", q="display name")
akan berguna. Anda harus siap menangani kemungkinan panggilan menampilkan lebih dari satu item dalam respons, karena nama tampilan tidak unik.
ID saluran 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 API v2 harus segera bermigrasi ke API v3.
Poin terbesar bagi developer yang menggunakan Data API v2 versi lama adalah Anda harus memahami bahwa tidak semua channel YouTube memiliki nama pengguna yang unik. Untungnya, setiap channel YouTube dijamin memiliki ID channel unik yang terkait dengannya, diwakili oleh nilai dalam tag <yt:channelId>
, dan itulah nilai yang kami rekomendasikan kepada developer, bukan nama pengguna. Misalnya, jika Anda memiliki database yang memetakan nama pengguna YouTube ke informasi tentang channel tersebut, entri lama Anda akan tetap berfungsi. (Channel yang sudah ada tidak akan kehilangan nama penggunanya.) Namun, seiring berjalannya waktu, akan semakin besar kemungkinan Anda untuk bekerja sama dengan channel yang tidak dapat diidentifikasi secara unik oleh nama pengguna.
Ada beberapa faktor yang mempermudah transisi dari nama pengguna ke ID channel. Pertama-tama, Data API v2 menerima ID channel di URL permintaan di mana pun ia menerima nama pengguna YouTube, yang berarti Anda dapat menukar ID channel dengan lancar ke dalam kode yang ada. Misalnya, karena UC_x5XG1OV2P6uZZ5FSM9Ttw
adalah ID saluran untuk saluran 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 membuat permintaan terautentikasi v2, 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, misalnya Anda ingin mengambil feed upload video untuk pengguna yang saat ini diberi otorisasi, Anda dapat melakukannya di https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1
.