Contoh berikut menunjukkan cara menggunakan YouTube Data API (v3) untuk menjalankan fungsi terkait video.
Mengambil video yang diupload channel
Contoh ini mengambil video yang diupload ke channel tertentu. Contoh ini memiliki dua langkah:
-
Langkah 1: Mengambil ID playlist untuk video yang diupload channel
Panggil metode
channels.listuntuk mengambil ID playlist yang berisi video yang diupload channel. Nilai parameterpartpermintaan harus menyertakancontentDetailssebagai salah satu bagian resourcechannelyang diambil. Dalam respons API, properticontentDetails.relatedPlaylists.uploadsberisi ID playlist.Ada beberapa cara untuk mengidentifikasi channel:
-
Tetapkan nilai parameter
mineketrueuntuk mengambil informasi channel YouTube pengguna yang saat ini diautentikasi. Permintaan Anda harus diotorisasi menggunakan OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Tetapkan parameter
forUsernameke nama pengguna YouTube untuk mengambil informasi channel yang terkait dengan nama pengguna tersebut. Contoh ini menetapkan nilai parameterforUsernamekeGoogleuntuk mengambil informasi channel YouTube resmi Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
Tetapkan parameter
idke ID channel YouTube yang secara unik mengidentifikasi channel yang informasinya Anda ambil. Contoh ini menetapkan parameteridkeUCK8sQmJBp8GCxrOtXWBpyEA, yang juga mengidentifikasi channel YouTube resmi Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
Langkah 2: Mengambil daftar video yang diupload
Panggil metode
playlistItems.listuntuk mengambil daftar video yang diupload. Tetapkan nilai parameterplaylistIdke nilai yang diperoleh pada langkah 1. Dalam contoh ini, nilai parameter ditetapkan keUUK8sQmJBp8GCxrOtXWBpyEA, yang merupakan daftar video yang diupload ke channel YouTube resmi Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
Mengambil video paling populer
Contoh ini menunjukkan cara mengambil daftar video YouTube paling populer, yang dipilih menggunakan algoritma yang menggabungkan banyak sinyal berbeda untuk menentukan popularitas secara keseluruhan.
Untuk mengambil daftar video paling populer, panggil metode videos.list dan tetapkan nilai parameter chart ke mostPopular.
Chart mostPopular mencakup video musik, film, dan video tentang game yang sedang trending.
Kemudian, Anda dapat menetapkan parameter berikut secara opsional:
regionCode: Menginstruksikan API untuk menampilkan daftar video untuk wilayah yang ditentukan. Nilai parameter adalah kode negara ISO 3166-1 alpha-2. Anda dapat menggunakan metodei18nRegions.listuntuk mengambil daftar kode wilayah yang didukung YouTube.videoCategoryId: Mengidentifikasi kategori video yang video paling populernya harus diambil. Anda dapat menggunakan metodevideoCategories.listuntuk mengambil daftar ID kategori yang didukung YouTube.
Misalnya, permintaan berikut mengambil video olahraga paling populer di Spanyol:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Mengambil statistik video batch
Contoh ini mengambil statistik untuk daftar video menggunakan metode videos.batchGetStats.
Untuk menggunakan metode ini, tetapkan parameter id permintaan ke daftar ID video YouTube yang dipisahkan koma yang statistiknya ingin Anda ambil. Tetapkan nilai parameter part ke daftar yang dipisahkan koma dari bagian resource videoStat yang ingin Anda sertakan dalam respons. Bagian yang didukung adalah snippet, statistics, contentDetails, dan id.
Autentikasi diperlukan untuk menggunakan metode ini terhadap video non-publik, tetapi tidak diperlukan untuk video publik. Jika permintaan mengambil data untuk video non-publik, permintaan tersebut harus diotorisasi dengan benar.
Permintaan di bawah ini mengambil statistik untuk ID video VIDEO_ID_1 dan VIDEO_ID_2:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats? part=snippet,statistics &id=VIDEO_ID_1,VIDEO_ID_2
Mengupload video
Karena APIs Explorer tidak mendukung kemampuan untuk mengupload file, deskripsi ini tidak ditautkan ke contoh yang dapat dieksekusi. Referensi berikut akan membantu Anda mengubah aplikasi sehingga dapat mengupload video menggunakan API v3:
-
Dokumentasi untuk metode videos.insert API berisi beberapa contoh kode yang menjelaskan cara mengupload video menggunakan berbagai bahasa pemrograman.
-
Panduan Upload yang Dapat Dilanjutkan menjelaskan urutan permintaan HTTP yang digunakan aplikasi untuk mengupload video menggunakan proses upload yang dapat dilanjutkan. Panduan ini terutama ditujukan untuk developer yang tidak dapat menggunakan library klien Google API, yang beberapa di antaranya menyediakan dukungan native untuk upload yang dapat dilanjutkan.
-
Contoh JavaScript untuk mengupload video menggunakan CORS (cross-origin resource sharing) untuk menunjukkan cara mengupload file video melalui halaman web. Library upload CORS yang digunakan API v3 secara alami mendukung upload yang dapat dilanjutkan. Selain itu, contoh ini menunjukkan cara memeriksa status video yang diupload dengan mengambil bagian
processingDetailsdari resourcevideo, serta cara menangani perubahan status untuk video yang diupload.
Memeriksa status video yang diupload
Contoh ini menunjukkan cara memeriksa status video yang diupload. Video yang diupload akan segera terlihat di feed video yang diupload pengguna yang diautentikasi. Namun, video tersebut tidak akan terlihat di YouTube hingga diproses.
-
Langkah 1: Upload video
Panggil metode
videos.insertuntuk mengupload video. Jika permintaan berhasil, respons API akan berisi resourcevideoyang mengidentifikasi ID video unik untuk video yang diupload. -
Langkah 2: Periksa status video
Panggil metode
videos.listuntuk memeriksa status video. Tetapkan nilai parameteridke ID video yang diperoleh pada langkah 1. Tetapkan nilai parameterpartkeprocessingDetails.Jika permintaan ditangani dengan berhasil, respons API akan berisi resource
video. Periksa nilai propertiprocessingDetails.processingStatusuntuk menentukan apakah YouTube masih memproses video. Nilai properti akan berubah menjadi sesuatu selainprocessing, sepertisucceededataufailed, saat YouTube selesai memproses video.Isi permintaan adalah resource
videoyang propertiid-nya menentukan ID video yang Anda hapus. Dalam contoh ini, resource juga berisi objekrecordingDetails.Permintaan di bawah ini memeriksa status video. Untuk menyelesaikan permintaan di APIs Explorer, Anda harus menetapkan nilai properti
id.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
Catatan: Aplikasi Anda dapat melakukan polling API untuk memeriksa status video yang baru diupload secara berkala. Setelah video diproses, aplikasi Anda dapat membuat buletin atau melanjutkan dengan tindakan lain yang bergantung pada status video.
Memperbarui video
Contoh ini menunjukkan cara memperbarui video untuk menambahkan informasi tentang waktu dan tempat video direkam. Contoh ini memiliki langkah-langkah berikut:
-
Langkah 1: Mengambil ID video
Ikuti langkah-langkah di atas untuk mengambil video yang diupload untuk channel pengguna yang saat ini diautentikasi. Daftar ini dapat digunakan untuk menampilkan daftar video, menggunakan ID setiap video sebagai kunci.
Catatan: Ada banyak cara lain untuk mendapatkan ID video, seperti mengambil hasil penelusuran atau mencantumkan item dalam playlist. Namun, karena video hanya dapat diperbarui oleh pemiliknya, mengambil daftar video yang dimiliki oleh pengguna yang mengotorisasi permintaan API kemungkinan merupakan langkah pertama dalam proses ini.
-
Langkah 2: Perbarui video
Panggil metode
videos.updateuntuk memperbarui video tertentu. Tetapkan nilai parameterpartkerecordingDetails. (Nilai parameter bergantung pada kolom metadata video yang diperbarui.)Isi permintaan adalah resource
videoyang propertiid-nya menentukan ID video yang Anda perbarui. Dalam contoh ini, resource juga berisi objekrecordingDetails.Resource contoh di bawah menunjukkan bahwa video direkam pada 30 Oktober 2013, di Boston:
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }Untuk menyelesaikan permintaan di APIs Explorer, Anda harus menetapkan nilai properti
id.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Mengelola akses partner brand (Akses Partner Brand yang Dimulai Kreator)
Akses Kemitraan Brand yang Dimulai Kreator (CI BPA) memungkinkan pemilik video membagikan akses ke videonya dengan channel partner brand. Hal ini memerlukan bagian brandPartner.
Menetapkan akses (Sisipkan)
Untuk menetapkan akses saat mengupload video, sertakan brandPartner dalam parameter part dan berikan objek brandPartner dalam isi permintaan. Anda harus menentukan channelId (ID channel eksternal yang dimulai dengan "UC") atau channelHandle (dimulai dengan "@") untuk mengidentifikasi channel korporat.
POST /youtube/v3/videos?part=snippet,status,brandPartner { "snippet": { "title": "Video Title", "description": "Video Description", "categoryId": "22" }, "status": { "privacyStatus": "private" }, "brandPartner": { "channelHandle": "@brandchannel" } }
Hanya channelId yang di-resolve yang akan ditampilkan dalam respons.
Memperbarui atau menghapus akses (Perbarui)
Untuk memperbarui akses ke channel brand lain, atau untuk menghapus akses, panggil metode videos.update dengan brandPartner dalam parameter part.
Untuk mengganti akses, berikan channelId atau channelHandle baru dalam isi permintaan:
PUT /youtube/v3/videos?part=brandPartner
{
"id": "VIDEO_ID",
"brandPartner": {
"channelId": "UC_SOME_BRAND_CHANNEL_ID"
}
}Untuk menghapus akses, kirim permintaan dengan brandPartner dalam parameter part, tetapi dengan objek brandPartner kosong dalam isi permintaan:
PUT /youtube/v3/videos?part=brandPartner
{
"id": "VIDEO_ID",
"brandPartner": {}
}Mengupload gambar thumbnail kustom dan menyetelnya untuk video
Anda dapat menggunakan metode thumbnails.set API v3 untuk mengupload gambar thumbnail kustom dan menyetelnya untuk video. Dalam permintaan Anda, nilai parameter videoId mengidentifikasi video yang akan digunakan untuk thumbnail.
Kueri ini tidak dapat diuji menggunakan APIs Explorer karena APIs Explorer tidak mendukung kemampuan untuk mengupload file media, yang merupakan persyaratan untuk metode ini.
Menghapus video
Contoh ini menunjukkan cara menghapus video. Contoh ini memiliki langkah-langkah berikut:
-
Langkah 1: Mengambil ID video
Ikuti langkah-langkah di atas untuk mengambil video yang diupload untuk channel pengguna yang saat ini diautentikasi. Daftar ini dapat digunakan untuk menampilkan daftar video, menggunakan ID setiap video sebagai kunci.
Catatan: Ada banyak cara lain untuk mendapatkan ID video, seperti mengambil hasil penelusuran atau mencantumkan item dalam playlist. Namun, karena video hanya dapat dihapus oleh pemiliknya, mengambil daftar video yang dimiliki oleh pengguna yang mengotorisasi permintaan API kemungkinan merupakan langkah pertama dalam proses ini.
-
Langkah 2: Hapus video
Panggil metode
videos.deleteuntuk menghapus video tertentu. Dalam permintaan, parameteridmenentukan ID video yang Anda hapus. Permintaan harus diotorisasi menggunakan OAuth 2.0. Jika Anda menguji kueri ini di APIs Explorer, Anda harus mengganti ID video yang valid untuk nilai parameterid.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
Melaporkan video yang melanggar
Contoh ini menunjukkan cara melaporkan video yang berisi konten yang melanggar. Contoh ini memiliki langkah-langkah berikut:
-
Langkah 1: Mengambil ID yang menjelaskan alasan video dilaporkan
Kirim permintaan yang diotorisasi ke metode
videoAbuseReportReasons.listuntuk mengambil daftar alasan valid untuk menandai video. ResourcevideoAbuseReportReasoncontoh di bawah berisi informasi untuk menandai video yang berisi spam atau konten yang menyesatkan.{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }Seperti yang ditunjukkan dalam resource, alasan ini terkait dengan daftar alasan sekunder. Saat menandai video karena berisi spam, Anda harus memberikan ID untuk alasan tersebut dan sangat disarankan untuk memberikan alasan sekunder juga.
-
Langkah 2: Tandai video karena berisi konten yang melanggar
Kirim permintaan yang diotorisasi ke metode
Propertivideos.reportAbuseuntuk benar-benar melaporkan video. Isi permintaan adalah objek JSON yang mengidentifikasi video yang ditandai dan alasan video tersebut ditandai. Seperti yang disebutkan pada langkah 1, untuk beberapa jenis alasan, alasan sekunder didukung dan sangat disarankan.videoIdobjek JSON mengidentifikasi video yang ditandai.Objek JSON contoh di bawah menandai video karena berisi spam atau konten yang menyesatkan dan, lebih spesifiknya, karena menggunakan gambar thumbnail yang menyesatkan. Seperti yang ditunjukkan dalam objek JSON contoh di atas, ID untuk konten Spam atau menyesatkan adalah S. ID untuk Thumbnail yang menyesatkan adalah 28.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }Permintaan
videos.reportAbuseharus diotorisasi menggunakan OAuth 2.0. Link di bawah memuat objek JSON di atas di APIs Explorer. Untuk menguji kueri, Anda harus mengganti ID video yang valid untuk nilai propertivideoId. Harap diingat bahwa pengiriman permintaan ini akan benar-benar menandai video.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse