Penerapan: Video

Contoh berikut menunjukkan cara menggunakan YouTube Data API (v3) untuk melakukan fungsi yang terkait dengan video.

Mengambil video yang diupload channel

Contoh ini mengambil video yang diupload ke channel tertentu. Contoh ini memiliki dua langkah:

Contoh ini menunjukkan cara mengambil daftar video YouTube paling populer, yang dipilih menggunakan algoritma yang menggabungkan berbagai sinyal 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 game yang sedang trending.

Kemudian, Anda dapat secara opsional menetapkan parameter berikut:

  • regionCode: Menginstruksikan API untuk menampilkan daftar video untuk wilayah yang ditentukan. Nilai parameter adalah kode negara ISO 3166-1 alpha-2. Anda dapat menggunakan metode i18nRegions.list untuk mengambil daftar kode wilayah yang didukung YouTube.
  • videoCategoryId: Mengidentifikasi kategori video yang video paling populernya harus diambil. Anda dapat menggunakan metode videoCategories.list untuk 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
        &regionCode=es
        &videoCategoryId=17
  

Upload 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 agar 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 bagi 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 processingDetails dari resource video 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 langsung terlihat di feed video yang diupload milik pengguna yang diautentikasi. Namun, video tidak akan terlihat di YouTube hingga diproses.

  • Langkah 1: Upload video

    Panggil metode videos.insert untuk mengupload video. Jika permintaan berhasil, respons API akan berisi resource video yang mengidentifikasi ID video unik untuk video yang diupload.

  • Langkah 2: Periksa status video

    Panggil metode videos.list untuk memeriksa status video. Setel nilai parameter id ke ID video yang diperoleh pada langkah 1. Tetapkan nilai parameter part ke processingDetails.

    Jika permintaan berhasil ditangani, respons API akan berisi resource video. Periksa nilai properti processingDetails.processingStatus untuk menentukan apakah YouTube masih memproses video. Nilai properti akan berubah menjadi selain processing, seperti succeeded atau failed, saat YouTube telah selesai memproses video.

    Isi permintaan adalah resource video yang properti id-nya menentukan ID video yang Anda hapus. Dalam contoh ini, resource juga berisi objek recordingDetails.

    Permintaan di bawah memeriksa status video. Untuk menyelesaikan permintaan di APIs Explorer, Anda perlu 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 pada API untuk memeriksa status video yang baru diupload secara berkala. Setelah video diproses, aplikasi Anda dapat membuat buletin atau melanjutkan 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: Ambil 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 memberikan otorisasi permintaan API kemungkinan merupakan langkah pertama dalam proses ini.

  • Langkah 2: Perbarui video

    Panggil metode videos.update untuk memperbarui video tertentu. Tetapkan nilai parameter part ke recordingDetails. (Nilai parameter bergantung pada kolom metadata video mana yang sedang diperbarui.)

    Isi permintaan adalah resource video yang properti id-nya menentukan ID video yang Anda perbarui. Dalam contoh ini, resource juga berisi objek recordingDetails.

    Contoh resource 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 perlu menetapkan nilai properti id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

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 menggunakan 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.

Contoh kode terkait: PHP, Python

Menghapus video

Contoh ini menunjukkan cara menghapus video. Contoh ini memiliki langkah-langkah berikut:

  • Langkah 1: Ambil 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 mengizinkan permintaan API adalah kemungkinan langkah pertama dalam proses ini.

  • Langkah 2: Menghapus video

    Panggil metode videos.delete untuk menghapus video tertentu. Dalam permintaan, parameter id menentukan ID video yang Anda hapus. Permintaan harus diizinkan menggunakan OAuth 2.0. Jika Anda menguji kueri ini di API Explorer, Anda harus mengganti nilai parameter id dengan ID video yang valid.

    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 melanggar. Contoh ini memiliki langkah-langkah berikut:

  • Langkah 1: Ambil ID yang menjelaskan alasan video dilaporkan

    Kirim permintaan yang sah ke metode videoAbuseReportReasons.list untuk mengambil daftar alasan yang valid untuk menandai video. Contoh resource videoAbuseReportReason di bawah berisi informasi untuk menandai video yang berisi spam atau konten 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 dikaitkan dengan daftar alasan sekunder. Saat menandai video karena berisi spam, Anda harus memberikan ID untuk alasan tersebut dan sangat dianjurkan untuk memberikan alasan sekunder juga.

  • Langkah 2: Laporkan video karena berisi konten tidak pantas

    Kirim permintaan yang sah ke metode videos.reportAbuse untuk benar-benar melaporkan video. Isi permintaan adalah objek JSON yang mengidentifikasi video yang dilaporkan dan alasan pelaporannya. Seperti yang disebutkan di langkah 1, untuk beberapa jenis alasan, alasan sekunder didukung dan sangat dianjurkan.

    Properti videoId objek JSON mengidentifikasi video yang dilaporkan.

    Contoh objek JSON di bawah menandai video karena berisi spam atau konten yang menyesatkan dan, lebih khusus lagi, karena menggunakan gambar thumbnail yang menyesatkan. Seperti yang ditunjukkan pada contoh objek JSON di atas, ID untuk konten Spam atau menyesatkan adalah S. ID untuk Thumbnail menyesatkan adalah 28.

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    Permintaan videos.reportAbuse harus diizinkan menggunakan OAuth 2.0. Link di bawah akan memuat objek JSON di atas di APIs Explorer. Untuk menguji kueri, Anda perlu mengganti nilai properti videoId dengan ID video yang valid. Perlu diingat bahwa pengiriman permintaan ini akan benar-benar menandai video tersebut.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse