Implementasi: Video

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

Mengambil video yang diupload di channel

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

Contoh ini menunjukkan cara mengambil daftar video paling populer di YouTube, yang dipilih menggunakan algoritme yang menggabungkan berbagai sinyal untuk menentukan popularitas secara keseluruhan.

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

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

Permintaan di bawah ini mengambil video olahraga terpopuler 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 Penjelajah API tidak mendukung kemampuan untuk mengupload file, deskripsi ini tidak tertaut ke contoh yang dapat dieksekusi. Referensi berikut akan membantu Anda memodifikasi aplikasi agar dapat mengupload video menggunakan API v3:

  • Dokumentasi untuk metode videos.insert API berisi beberapa contoh kode yang menjelaskan cara mengupload video menggunakan bahasa pemrograman yang berbeda.

  • 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 memberikan dukungan native untuk upload yang dapat dilanjutkan.

  • Contoh JavaScript untuk mengupload video menggunakan CORS (berbagi resource lintas asal) untuk menunjukkan cara mengupload file video melalui halaman web. Library upload CORS yang digunakan v3 API 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 sebelum 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 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 atau tidak. Nilai properti akan berubah menjadi sesuatu selain processing, seperti succeeded atau failed, saat YouTube selesai memproses video.

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

    Permintaan di bawah ini memeriksa status video. Untuk menyelesaikan permintaan di Penjelajah API, 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 memeriksa 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 tersebut memiliki langkah-langkah berikut:

  • Langkah 1: Ambil ID video

    Ikuti langkah-langkah di atas untuk mengambil video yang diupload bagi channel pengguna yang saat ini sudah diautentikasi. Daftar tersebut 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 memberi 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 yang diperbarui.)

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

    Contoh referensi 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 Penjelajah API, 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 digunakan untuk thumbnail.

Kueri ini tidak dapat diuji menggunakan APIs Explorer karena APIs Explorer tidak mendukung kemampuan mengupload file media, yang merupakan persyaratan metode ini.

Contoh kode terkait: PHP, Python

Menghapus video

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

  • Langkah 1: Ambil ID video

    Ikuti langkah-langkah di atas untuk mengambil video yang diupload bagi channel pengguna yang saat ini sudah diautentikasi. Daftar tersebut 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 memberi otorisasi permintaan API kemungkinan merupakan langkah pertama dalam proses ini.

  • Langkah 2: Hapus 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 menguji kueri ini di APIs Explorer, Anda harus mengganti ID video yang valid untuk 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 tersebut 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 terkait pelaporan video. Contoh referensi videoAbuseReportReason di bawah berisi informasi untuk melaporkan 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 referensi, alasan ini dikaitkan dengan daftar alasan sekunder. Saat melaporkan video karena berisi spam, Anda harus memberikan ID tersebut dan sangat disarankan untuk memberikan alasan sekunder.

  • Langkah 2: Tandai video karena konten yang melanggar

    Kirim permintaan yang diotorisasi ke metode videos.reportAbuse untuk melaporkan video tersebut. Isi permintaan adalah objek JSON yang mengidentifikasi video yang dilaporkan dan alasan video tersebut dilaporkan. Sebagaimana disebutkan pada langkah 1, untuk beberapa jenis alasan, alasan sekunder didukung dan sangat disarankan.

    Properti videoId objek JSON mengidentifikasi video yang sedang ditandai.

    Contoh objek JSON di bawah menunjukkan video karena berisi spam atau konten yang menyesatkan dan, lebih khusus lagi, menggunakan gambar thumbnail yang menyesatkan. Seperti yang ditunjukkan dalam contoh objek JSON di atas, ID untuk konten Spam atau yang 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.reportAbuse harus diotorisasi menggunakan OAuth 2.0. Link di bawah ini memuat objek JSON di atas dalam APIs Explorer. Untuk menguji kueri, Anda harus mengganti ID video yang valid untuk nilai properti videoId. Perlu diingat bahwa mengirimkan permintaan ini akan menandai video.

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