Halaman ini menampilkan contoh permintaan ke YouTube Data API. Anda menggunakan YouTube Data API untuk mengambil dan memanipulasi resource YouTube seperti video, channel, dan playlist. Setiap contoh ditautkan ke dan mengisi Google APIs Explorer sehingga Anda dapat menjalankan contoh dan melihat responsnya.
Untuk mengetahui informasi tentang mengupload konten menggunakan YouTube Data API, lihat Upload yang Dapat Dilanjutkan.
Ringkasan
Untuk kejelasan presentasi, contoh di halaman ini menampilkan elemen khas setiap permintaan dan menyingkat URL dasar untuk host yang memproses permintaan Data API (https://www.googleapis.com/youtube/v3). Untuk membuat permintaan di luar konteks contoh, Anda harus menyertakan URL lengkap.
Misalnya, berikut adalah contoh permintaan seperti yang muncul di halaman ini:
GET {base-URL}/channels?part=contentDetails &mine=true
URL lengkap untuk permintaan ini adalah:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails &mine=true
Beberapa permintaan mengambil data yang hanya dapat diakses oleh pemilik channel YouTube, seperti daftar subscriber. Permintaan ini mengharuskan pemilik channel memberikan hak kepada Google APIs Explorer untuk melakukan permintaan YouTube Data API atas nama mereka. (Lihat Menerapkan Autentikasi OAuth 2.0 untuk mengetahui detail tentang cara mengotorisasi akses ke data channel pribadi.) Setelah menautkan ke APIs Explorer, klik tombol Authorize requests using OAuth 2.0. Langkah ini mengotorisasi APIs Explorer untuk membuat permintaan atas nama pemilik. Anda juga memilih cakupan otorisasi, yang menentukan jenis permintaan yang dapat dilakukan oleh APIs Explorer.
Respons terhadap setiap permintaan adalah representasi JSON dari resource YouTube. Parameter part dalam permintaan menentukan bagian resource yang disertakan dalam respons. Parameter mengidentifikasi satu atau beberapa properti resource tingkat atas (tidak bertingkat) yang harus disertakan dalam respons. Misalnya, beberapa bagian dari resource video adalah:
- cuplikan
- contentDetails
- pemain
- statistika
- status
Semua bagian ini adalah objek yang berisi properti bertingkat, dan Anda dapat menganggap objek ini sebagai grup kolom metadata yang mungkin (atau mungkin tidak) diambil oleh server API. Oleh karena itu, parameter part mengharuskan Anda memilih komponen resource yang benar-benar digunakan oleh aplikasi Anda.Lihat Memulai YouTube Data API untuk mengetahui informasi selengkapnya.
Mengambil informasi channel
Permintaan ini menggunakan metode channels.list untuk mengambil detail tentang channel milik pengguna yang diautentikasi.
GET {base_URL}/channels?part=contentDetails &mine=true
Respons terhadap permintaan ini mencakup ID channel dan contentDetails untuk channel pengguna yang diautentikasi. contentDetails mencakup beberapa playlist yang dibuat sistem dan terkait dengan channel. Banyak permintaan berikutnya memerlukan ID channel atau salah satu ID playlist, jadi penting untuk mencatatnya.
{
"id": {CHANNEL_ID},
"kind": "youtube#channel",
"etag": etag,
"contentDetails": {
"relatedPlaylists": {
"likes": {LIKES_PLAYLIST_ID},
"favorites": {FAVORITES_PLAYLIST_ID},
"uploads": {UPLOADS_PLAYLIST_ID},
"watchHistory": {WATCHHISTORY_PLAYLIST_ID},
"watchLater": {WATCHLATER_PLAYLIST_ID}
},
"googlePlusUserId": string
},
}Video yang diupload dan playlist yang dibuat sistem
YouTube menambahkan semua video yang diupload ke playlist yang terkait dengan channel. Untuk mendapatkan daftar video yang diupload, Anda membuat kueri playlist "uploads" yang ditampilkan dalam respons yang ditunjukkan di atas untuk informasi channel, menggunakan metode playlistItems.list untuk mengambil video dalam playlist tersebut.
Sebelum menjalankan contoh permintaan berikut di Google APIs Explorer, ganti {UPLOADS_PLAYLIST_ID} dengan ID playlist dari permintaan sebelumnya.
GET {base_URL}/playlistItems?part=contentDetails &playlistId={UPLOADS_PLAYLIST_ID}
Perhatikan bahwa nilai "id" untuk setiap item yang ditampilkan adalah ID playlistItem-nya. ID video untuk item playlist adalah videoId di bagian contentDetails.
Anda dapat mengambil daftar favorit, suka, histori tontonan, atau tonton nanti pengguna menggunakan permintaan di atas dengan mengganti ID playlist yang sesuai dari respons informasi channel.
Playlist buatan pengguna
Permintaan ini menggunakan metode playlists.list untuk mengambil playlist yang terkait dengan channel yang diautentikasi. Perhatikan bahwa permintaan ini tidak mengambil playlist yang dibuat sistem dan disertakan dalam informasi channel (uploads, watchHistory, dan sebagainya). Permintaan ini hanya mengambil playlist buatan pengguna.
GET {base_URL}/playlists?part=snippet &mine=true
Setelah memiliki ID playlist, Anda dapat mengambil item dari playlist menggunakan permintaan yang ditampilkan di bagian sebelumnya.
Anda dapat meminta informasi tentang playlist publik channel tanpa autentikasi. Saat mengirimkan permintaan yang tidak diautentikasi, Anda harus menyertakan argumen key yang menentukan kunci API unik untuk aplikasi yang membuat permintaan. Misalnya, permintaan ini mengambil playlist yang terkait dengan channel GoogleDevelopers.
GET {base_URL}/playlists?part=snippet &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw &key={YOUR_API_KEY}
Mengambil Langganan
Resource subscription menentukan hubungan antara pengguna YouTube (subscriber) dan channel. Metode subscriptions.list mengambil subscriber ke channel tertentu atau langganan untuk pengguna tertentu, bergantung pada parameter yang Anda sertakan dalam permintaan.
Subscriber channel
Permintaan ini mengambil daftar subscriber ke channel yang diautentikasi.
GET {base_URL}/subscriptions?part=snippet &mySubscribers=true
Langganan pengguna
Metode yang sama yang mencantumkan subscriber (subscriptions.list) dapat digunakan untuk mencantumkan channel yang di-subscribe pengguna. Permintaan ini menggunakan parameter mine untuk mengambil daftar channel YouTube yang di-subscribe oleh pengguna yang diautentikasi.
GET {base_URL}/subscriptions?part=snippet &mine=true
Mengambil aktivitas pengguna
Resource activity berisi informasi tentang tindakan yang telah dilakukan oleh channel atau pengguna tertentu di YouTube – mengupload video, subscribe ke channel, dan sebagainya. Metode activities.list mengambil tindakan yang terkait dengan channel atau pengguna yang cocok dengan kriteria permintaan. Misalnya, Anda dapat mengambil tindakan yang terkait dengan channel tertentu, dengan langganan pengguna, atau dengan halaman beranda YouTube kustom pengguna.
Aktivitas selama jangka waktu tertentu
Permintaan ini mengambil semua tindakan yang dilakukan oleh pengguna yang diautentikasi selama April 2013.
GET {base_URL}/activities?part=snippet,contentDetails &mine=true &publishedAfter=2013-04-01T00%3A00%3A00Z &publishedBefore=2013-05-01T00%3A00%3A00Z
Aktivitas halaman beranda
Permintaan ini mengambil feed aktivitas kustom yang ditampilkan di halaman beranda YouTube pengguna yang diautentikasi.
GET {base_URL}/activities?part=snippet,contentDetails &home=true
Untuk mengambil statistik penayangan, metrik popularitas, dan informasi demografi untuk video dan channel YouTube, Anda menggunakan YouTube Analytics API. Halaman Contoh Permintaan API menunjukkan cara mengambil laporan umum dari YouTube Analytics.
Telusuri
Metode search.list memungkinkan Anda menelusuri video YouTube, channel, atau playlist yang cocok dengan kriteria yang ditentukan. Anda dapat menelusuri berdasarkan properti video, kata kunci, atau topik (atau kombinasi keduanya), dan Anda dapat mengurutkan hasil berdasarkan faktor seperti tanggal pembuatan, jumlah penayangan, atau rating.
Seperti permintaan API YouTube Data lainnya, metode search.list menampilkan representasi JSON dari resource YouTube. Namun, tidak seperti resource YouTube lainnya, hasil penelusuran bukanlah objek persisten dengan ID unik.
Banyak permintaan menelusuri konten yang tersedia secara publik dan oleh karena itu tidak memerlukan autentikasi. Di antara contoh di bawah, hanya contoh pertama yang memerlukan autentikasi, karena secara khusus meminta video "saya". Saat mengirimkan permintaan yang tidak diautentikasi, Anda harus menyertakan argumen key yang menentukan kunci API unik untuk aplikasi Anda.
Video saya yang paling banyak ditonton
Permintaan ini mengambil semua video pengguna yang diautentikasi dan mencantumkannya dalam urutan menurun berdasarkan jumlah penayangan.
GET {base_URL}/search?part=snippet &forMine=true &order=viewCount &type=video
Video definisi tinggi yang dapat disematkan
Permintaan ini menelusuri video yang memiliki properti tertentu, yaitu video definisi tinggi yang dapat disematkan di situs lain. Permintaan ini mencantumkan hasil dalam urutan rating menurun.
GET {base_URL}/search?part=snippet &order=rating &type=video &videoDefinition=high &videoEmbeddable=true &key={YOUR_API_KEY}
Video tentang subjek tertentu
Permintaan ini melakukan penelusuran kata kunci untuk video tentang YouTube Data API yang menyertakan teks.
GET {base_URL}/search?part=snippet &q=YouTube+Data+API &type=video &videoCaption=closedCaption &key={YOUR_API_KEY}
Penelusuran berbasis topik
Cara yang lebih canggih untuk menelusuri video tentang topik tertentu adalah menggunakan topik Freebase, bukan kata kunci. Resource channel dan video YouTube semuanya berisi objek topicDetails yang berisi daftar ID topik Freebase yang terkait dengan resource. Penelusuran berbasis topik lebih cerdas daripada penelusuran kata kunci, karena topik Freebase mewakili semua aspek konsep atau hal dunia nyata.
Untuk menelusuri menggunakan topik Freebase, Anda harus mengambil ID topik terlebih dahulu menggunakan Freebase API. Permintaan ini menampilkan video yang terkait dengan topik Freebase untuk Python, yang ID topiknya adalah /m/05z1_.
GET {base_URL}/search?part=snippet &topicId=/m/05z1_ &type=video &key={YOUR_API_KEY}
Menelusuri playlist atau channel
Penelusuran tidak terbatas pada video. Anda juga dapat menelusuri playlist atau channel. Permintaan ini mengambil playlist yang cocok dengan kata kunci 'soccer'.
GET {base_URL}/search?part=snippet &q=soccer &type=playlist &key={YOUR_API_KEY}
Jika Anda lebih suka menemukan channel sepak bola, cukup ubah parameter type.
GET {base_URL}/search?part=snippet &q=soccer &type=channel &key={YOUR_API_KEY}
Jika Anda ingin menemukan semua konten terkait sepak bola (channel, playlist, dan video), Anda dapat melakukan penelusuran universal. Jika Anda menghapus parameter type, permintaan akan mengambil konten dari semua jenis
GET {base_URL}/search?part=snippet &q=soccer &key={YOUR_API_KEY}
Membuat dan memperbarui resource
Semua permintaan yang telah kita lihat sejauh ini menggunakan metode HTTP GET untuk mengambil data YouTube. YouTube Data API juga menawarkan metode yang menggunakan HTTP POST untuk membuat atau memperbarui resource YouTube seperti video, playlist, atau channel. Permintaan berikut memberikan contoh.
Metode POST menyertakan Request body, yang merupakan representasi JSON dari resource yang dibuat atau diperbarui. Anda dapat membuat representasi JSON di Google APIs Explorer menggunakan alat interaktif.
Membuat langganan
Permintaan ini membuat pengguna yang diautentikasi subscribe ke channel GoogleDevelopers. Dengan kata lain, permintaan ini membuat resource langganan.
POST {base_URL}/subscriptions?part=snippet
Request body: { 'snippet': { 'resourceId': { 'kind': 'youtube#channel', 'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw' } } }
Membuat playlist
Permintaan ini membuat playlist publik baru.
POST {base_URL}/playlists?part=snippet
Request body: { 'snippet': { 'title': 'New playlist', 'description': 'Sample playlist for Data API', } }
Menambahkan video ke playlist
Setelah membuat playlist, mari kita tambahkan video ke playlist tersebut. Permintaan ini menambahkan video ke awal playlist ('position': 0).
POST {base_URL}/playlistItems?part=snippet Request body: { 'snippet': { 'playlistId': '{PLAYLIST_ID}', 'resourceId': { 'kind': 'youtube#video', 'videoId': '{VIDEO_ID}' } 'position': 0 } }