Contoh Kode JavaScript

Contoh kode di bawah menggunakan Library Klien Google API untuk JavaScript. Anda dapat mendownload contoh ini dari folder javascript di repositori contoh kode YouTube API di GitHub.

Kode meminta izin pengguna untuk mengakses cakupan https://www.googleapis.com/auth/yt-analytics.readonly.

return gapi.auth2.getAuthInstance()
    .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})
    ...

Aplikasi Anda mungkin juga perlu meminta akses ke cakupan lain. Misalnya, aplikasi yang memanggil YouTube Analytics API dan YouTube Data API mungkin memerlukan pengguna untuk memberikan akses ke akun YouTube mereka. Ringkasan otorisasi mengidentifikasi cakupan yang biasanya digunakan dalam aplikasi yang memanggil YouTube Analytics API.

Mengambil statistik harian channel

Contoh ini memanggil YouTube Analytics API untuk mengambil penayangan harian dan metrik lainnya untuk channel pengguna yang memberikan otorisasi selama tahun kalender 2017. Contoh ini menggunakan library klien JavaScript Google API.

Menyiapkan kredensial otorisasi

Sebelum menjalankan contoh ini secara lokal untuk pertama kalinya, Anda perlu menyiapkan kredensial otorisasi untuk project Anda:

  1. Buat atau pilih project di Konsol API Google.
  2. Aktifkan YouTube Analytics API untuk project Anda.
  3. Di bagian atas halaman Credentials, pilih tab OAuth consent screen. Pilih Alamat email, masukkan Nama produk jika belum ditetapkan, lalu klik tombol Simpan.
  4. Di halaman Credentials, klik tombol Create credentials, lalu pilih Oauth client ID.
  5. Pilih jenis aplikasi Aplikasi web.
  6. Di kolom Asal JavaScript yang sah, masukkan URL tempat Anda akan menayangkan contoh kode. Misalnya, Anda dapat menggunakan sesuatu seperti http://localhost:8000 atau http://yourserver.example.com. Anda dapat mengosongkan kolom Authorized redirect URIs.
  7. Klik tombol Buat untuk menyelesaikan pembuatan kredensial Anda.
  8. Sebelum menutup kotak dialog, salin ID klien, yang akan Anda perlukan untuk dimasukkan ke dalam contoh kode.

Buat salinan lokal contoh

Kemudian, simpan sampel ke file lokal. Dalam contoh, temukan baris berikut dan ganti YOUR_CLIENT_ID dengan client ID yang Anda peroleh saat menyiapkan kredensial otorisasi.

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

Menjalankan kode

Sekarang, Anda siap untuk benar-benar menguji sampel:

  1. Buka file lokal dari browser web, lalu buka konsol pen-debug di browser. Anda akan melihat halaman yang menampilkan dua tombol.
  2. Klik tombol authorize and load untuk meluncurkan alur otorisasi pengguna. Jika Anda mengizinkan aplikasi untuk mengambil data channel Anda, Anda akan melihat baris berikut dicetak ke konsol di browser:
    Sign-in successful
    GAPI client loaded for API
  3. Jika Anda melihat pesan error, bukan baris di atas, pastikan Anda memuat skrip dari URI pengalihan resmi yang Anda siapkan untuk project dan Anda memasukkan ID klien ke dalam kode seperti yang dijelaskan di atas.
  4. Klik tombol execute untuk memanggil API. Anda akan melihat objek response dicetak ke konsol di browser. Dalam objek tersebut, properti result dipetakan ke objek yang berisi data API.

Kode contoh

<script src="https://apis.google.com/js/api.js"></script>
<script>
  function authenticate() {
    return gapi.auth2.getAuthInstance()
        .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})
        .then(function() { console.log("Sign-in successful"); },
              function(err) { console.error("Error signing in", err); });
  }
  function loadClient() {
    return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2")
        .then(function() { console.log("GAPI client loaded for API"); },
              function(err) { console.error("Error loading GAPI client for API", err); });
  }
  // Make sure the client is loaded and sign-in is complete before calling this method.
  function execute() {
    return gapi.client.youtubeAnalytics.reports.query({
      "ids": "channel==MINE",
      "startDate": "2017-01-01",
      "endDate": "2017-12-31",
      "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained",
      "dimensions": "day",
      "sort": "day"
    })
        .then(function(response) {
                // Handle the results here (response.result has the parsed body).
                console.log("Response", response);
              },
              function(err) { console.error("Execute error", err); });
  }
  gapi.load("client:auth2", function() {
    gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});
  });
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>