JavaScript Kod Örnekleri

Aşağıdaki kod örneğinde JavaScript için Google API'leri İstemci Kitaplığı kullanılmaktadır. Bu örneği, GitHub'daki YouTube API'leri kod örneği deposunun javascript klasöründen indirebilirsiniz.

Kod, kullanıcının https://www.googleapis.com/auth/yt-analytics.readonly kapsamına erişmek için iznini ister.

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

Uygulamanızın başka kapsamlar için de erişim isteğinde bulunması gerekebilir. Örneğin, YouTube Analytics API ve YouTube Data API'yi çağıran bir uygulamanın, kullanıcıların YouTube hesaplarına da erişim izni vermesini istemesi gerekebilir. Yetkilendirmeye genel bakış bölümünde, YouTube Analytics API'yi çağıran uygulamalarda genellikle kullanılan kapsamlar tanımlanır.

Günlük kanal istatistiklerini alma

Bu örnek, yetkilendiren kullanıcının kanalının 2017 takvim yılına ait günlük görüntüleme sayılarını ve diğer metriklerini almak için YouTube Analytics API'sini çağırır. Örnekte Google API'leri JavaScript istemci kitaplığı kullanılmaktadır.

Yetkilendirme kimlik bilgilerini ayarlama

Bu örneği ilk kez yerel olarak çalıştırmadan önce projeniz için yetkilendirme kimlik bilgilerini ayarlamanız gerekir:

  1. Google API Konsolu'nda bir proje oluşturun veya seçin.
  2. Projeniz için YouTube Analytics API'yi etkinleştirin.
  3. Kimlik bilgileri sayfasının üst kısmında OAuth izin ekranı sekmesini seçin. Bir e-posta adresi seçin, henüz ayarlanmadıysa bir ürün adı girin ve Kaydet düğmesini tıklayın.
  4. Kimlik bilgileri sayfasında Kimlik bilgisi oluştur düğmesini tıklayın ve OAuth istemci kimliği'ni seçin.
  5. Web uygulaması türünü seçin.
  6. Yetkilendirilmiş JavaScript kaynakları alanına, kod örneğini sunacağınız URL'yi girin. Örneğin, http://localhost:8000 veya http://yourserver.example.com gibi bir ifade kullanabilirsiniz. Yetkilendirilmiş yönlendirme URI'leri alanını boş bırakabilirsiniz.
  7. Kimlik bilgilerinizi oluşturmayı tamamlamak için Oluştur düğmesini tıklayın.
  8. İletişim kutusunu kapatmadan önce, kod örneğine yerleştirmeniz gereken istemci kimliğini kopyalayın.

Örneğin yerel bir kopyasını oluşturun

Ardından, örneği yerel bir dosyaya kaydedin. Örnekte aşağıdaki satırı bulun ve YOUR_CLIENT_ID yerine yetkilendirme kimlik bilgilerinizi ayarlarken aldığınız istemci kimliğini girin.

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

Kodu çalıştırma

Artık örneği gerçekten test etmeye hazırsınız:

  1. Yerel dosyayı bir web tarayıcısından açın ve tarayıcıda hata ayıklama konsolunu açın. İki düğme gösteren bir sayfa görmeniz gerekir.
  2. Kullanıcı yetkilendirme akışını başlatmak için yetkilendir ve yükle düğmesini tıklayın. Uygulamayı kanal verilerinizi alması için yetkilendirirseniz tarayıcıdaki konsola aşağıdaki satırların yazdırıldığını görürsünüz:
     Sign-in successful GAPI client loaded for API
  3. Yukarıdaki satırlar yerine bir hata mesajı görüyorsanız komut dosyasını projeniz için ayarladığınız yetkili yönlendirme URI'sinden yüklediğinizi ve istemci kimliğinizi yukarıda açıklandığı şekilde koda yerleştirdiğinizi doğrulayın.
  4. API'yi çağırmak için execute (yürüt) düğmesini tıklayın. Tarayıcıdaki konsola bir response nesnesi yazdırıldığını görmelisiniz. Bu nesnede, result özelliği API verilerini içeren bir nesneyle eşlenir.

Örnek kod

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