Penerapan: Video

Contoh berikut menunjukkan cara menggunakan YouTube Data API (v3) untuk menjalankan 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 yang paling populer, yang dipilih menggunakan algoritma yang menggabungkan banyak sinyal berbeda untuk menentukan popularitas secara keseluruhan.

Untuk mengambil daftar video terpopuler, panggil metode videos.list dan tetapkan nilai parameter chart ke mostPopular. Saat mengambil daftar ini, Anda juga dapat menetapkan salah satu atau kedua parameter berikut:

  • regionCode: Memberi petunjuk kepada API untuk menampilkan daftar video untuk wilayah yang ditentukan.
  • videoCategoryId: Mengidentifikasi kategori video yang video terpopulernya akan diambil.

Permintaan di bawah ini mengambil video olahraga paling populer di Spanyol:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

Mengupload video

Karena API 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 untuk developer yang tidak dapat menggunakan library klien Google API, 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 pengguna yang diautentikasi. Namun, video tersebut tidak akan terlihat di YouTube hingga telah 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. Tetapkan nilai parameter id ke ID video yang diperoleh di 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 sesuatu selain processing, seperti succeeded atau failed, saat YouTube selesai memproses video.

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

    Permintaan di bawah ini memeriksa status video. Untuk menyelesaikan permintaan di API 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 pada API untuk memeriksa status video yang baru diupload secara berkala. Setelah video diproses, aplikasi Anda dapat membuat buletin atau melanjutkan tindakan lain 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: Memperbarui video

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

    Isi permintaan adalah resource video yang properti id-nya menentukan ID video dari 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 API Explorer, Anda harus menetapkan nilai properti id.

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

Mengupload gambar thumbnail kustom dan menetapkannya untuk video

Anda dapat menggunakan metode thumbnails.set v3 API untuk mengupload gambar thumbnail kustom dan menyetelnya untuk video. Dalam permintaan Anda, nilai parameter videoId mengidentifikasi video yang thumbnail-nya akan digunakan.

Kueri ini tidak dapat diuji menggunakan API Explorer karena API 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 kemungkinan merupakan 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 diotorisasi menggunakan OAuth 2.0. Jika menguji kueri ini di API Explorer, Anda harus mengganti ID video yang valid dengan nilai parameter id.

    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: Ambil ID yang menjelaskan alasan video dilaporkan

    Kirim permintaan yang diotorisasi ke metode videoAbuseReportReasons.list untuk mengambil daftar alasan yang valid untuk melaporkan video. Contoh referensi videoAbuseReportReason di bawah berisi informasi untuk melaporkan 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 referensi, alasan ini dikaitkan dengan daftar alasan sekunder. Saat melaporkan video karena berisi spam, Anda harus memberikan ID untuk alasan tersebut dan sangat disarankan untuk memberikan alasan sekunder juga.

  • Langkah 2: Laporkan video tersebut karena berisi konten yang melanggar

    Kirim permintaan yang diotorisasi ke metode videos.reportAbuse untuk benar-benar melaporkan video. Isi permintaan adalah objek JSON yang mengidentifikasi video yang dilaporkan dan alasan video tersebut dilaporkan. 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 dalam 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 diotorisasi menggunakan OAuth 2.0. Link di bawah memuat objek JSON di atas di API Explorer. Untuk menguji kueri, Anda perlu mengganti ID video yang valid dengan nilai properti videoId. Perlu diingat bahwa mengirimkan permintaan ini akan menandai video tersebut.

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