Penerapan: Video

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:

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

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 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 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.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 pada langkah 1. Tetapkan nilai parameter part ke processingDetails.

    Jika permintaan ditangani dengan berhasil, 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 yang properti id-nya 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 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.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 yang Anda perbarui. Dalam contoh ini, resource juga berisi objek recordingDetails.

    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

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.

Contoh kode terkait: PHP, Python

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.delete untuk menghapus video tertentu. Dalam permintaan, parameter id menentukan 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 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: Mengambil ID yang menjelaskan alasan video dilaporkan

    Kirim permintaan yang diotorisasi ke metode videoAbuseReportReasons.list untuk mengambil daftar alasan valid untuk menandai video. Resource videoAbuseReportReason contoh 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 videos.reportAbuse untuk 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.

    Properti videoId objek 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.reportAbuse harus 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 properti videoId. Harap diingat bahwa pengiriman permintaan ini akan benar-benar menandai video.

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