Kod örneklerini yürütme

Google API Gezgini, kod örneklerini dinamik olarak oluşturur. Bu kod örnekleri, yerel olarak kopyalanıp çalıştırılmak üzere tasarlanmıştır. Örnekleri görüntülemek için API Gezgini yan panelinde Tam ekran'ı tıklayın. Aşağıdaki şekilde, genişletilmiş tam ekran API Gezgini gösterilmektedir:

Google Kitaplar API'si için API Gezgini tam ekran paneli
Şekil 2: Google Kitaplar API'si için API Gezgini tam ekran paneli.

API Gezgini, isteğinizi yürütmek için varsayılan olarak cURL'nin nasıl kullanılacağını gösterir. Bazı API'ler JavaScript, Java ve Python gibi diğer diller için de örnekler gösterebilir.

Kod örneklerini yerel olarak çalıştırma

Aşağıdaki sekmelerde, kod örneklerini çalıştırmak için gereken ön koşullar ve adımlar açıklanmaktadır. Kod örneklerini çalıştırmak için kendi yetkilendirme kimlik bilgilerinizi oluşturup kullanmanız gerekir. Proje oluşturma ve kimlik bilgisi oluşturma hakkında bilgi edinmek için kullandığınız Google API'sinin belgelerine bakın.

Kimlik bilgileri, yöntemin eriştiği veri türüne (herkese açık veya özel) bağlı olarak aşağıdakilerden biri olur:

  • Herkese açık veriler için kimlik bilgisi bir API anahtarıdır.
  • Özel veriler için kimlik bilgisi, OAuth 2.0 istemci kimliğinizi ve istemci gizli anahtarınızı içeren bir client_secret.json dosyası veya bir OAuth 2.0 erişim jetonudur.

cURL

Ayarlama

  1. Uygulamanız için bir proje oluşturmak veya seçmek ve API'yi etkinleştirmek üzere API belgelerindeki talimatları uygulayın.
  2. Cloud Console'da bir API anahtarı oluşturun.
  3. Cloud Console'da bir web uygulaması için OAuth istemci kimliği kimlik bilgisi oluşturun ve yönlendirme URI'si olarak https://developers.google.com/oauthplayground kullanın.
  4. OAuth 2.0 Playground'da, OAuth 2.0 Yapılandırması'nı tıklayın.
  5. Kendi kimlik bilgilerinizi kullanın'ı işaretleyin.
  6. 3. adımda oluşturulan istemci kimliğini ve istemci gizli anahtarını girin.
  7. Kapsamlar alanına, yönteminizle kullanılacak kapsamı yazın ve API'leri yetkilendir'i tıklayın.
  8. (İsteğe bağlı) Oturum açma ekranı gösterilirse kullanılacak hesabı seçin.
  9. (İsteğe bağlı) Yetkilendirme ekranı gösterilirse Kabul et'i tıklayın.
  10. Jetonlar için yetkilendirme kodu değiş tokuşu yap seçeneğini tıklayın. Bir jeton döndürülür.
  11. cURL kodu örneğinde [YOUR_API_KEY] kısmını 2. adımda oluşturulan API anahtarıyla değiştirin: 'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
  12. cURL kodu örneğinde, [YOUR_ACCESS_TOKEN] yerine 10. adımda oluşturulan erişim jetonunu girin: --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \

Kod örneğini yürütme

Komut satırından cURL komutunu çalıştırın. Komut şu şekilde olmalıdır:

curl \
'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \
--header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \
--header 'Accept: application/json' \
--compressed

JavaScript

Ayarlama

  1. Uygulamanız için bir proje oluşturmak veya seçmek ve API'yi etkinleştirmek üzere API belgelerindeki talimatları uygulayın.
  2. Cloud Console'da bir API anahtarı oluşturun.
  3. Cloud Console'da "Web uygulaması" için bir OAuth istemci kimliği kimlik bilgisi oluşturun ve yetkili JavaScript kaynaklarını, istek göndereceğiniz URL'yi (ör. http://localhost) tanımlayacak şekilde ayarlayın.
  4. Tam kod örneğini web sunucunuzun erişebileceği yerel bir dosyaya (ör. /var/www/html/example.html) kopyalayın.
  5. Kod örneğinde API anahtarını veya istemci kimliğini ayarlayan satırı bulun ve değeri 2. ve 3. adımda oluşturulan değerlerle değiştirin:

    • API anahtarı: gapi.client.setApiKey(YOUR_API_KEY);
    • OAuth 2.0 istemci kimliği: gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

Kod örneğini yürütme

  1. Dosyayı tarayıcınızda (ör. http://localhost/example.html) açın. Google Chrome gibi hata ayıklama konsolu olan bir tarayıcı kullanmanızı öneririz.
  2. (İsteğe bağlı) Oturum açma ekranı gösterilirse kullanılacak hesabı seçin.
  3. (İsteğe bağlı) Yetkilendirme ekranı gösterilirse Kabul et'i tıklayın. Hata ayıklama konsolunda yöntem yanıtı JSON nesnesi olarak gösterilmelidir.

Java

Ön koşullar

  • Java 1.7 veya daha yeni bir sürüm.
  • Gradle 7 veya daha yeni bir sürüm.

Ayarlama

  1. Uygulamanız için bir proje oluşturmak veya seçmek ve API'yi etkinleştirmek üzere API belgelerindeki talimatları uygulayın.
  2. Yöntemin eriştiği veri türüne bağlı olarak bir API anahtarı (herkese açık veriler) veya bir OAuth 2.0 istemci kimliği (gizli veriler) oluşturun.
  3. Uygulama türünü Masaüstü uygulaması olarak ayarlayın.
  4. OAuth 2.0 istemci kimliği oluşturduysanız OAuth 2.0 kimlik bilgilerinizi içeren JSON dosyasını indirin. Bu dosya, client_secret_CLIENTID.json gibi bir adla kaydedilir. Burada CLIENTID, projenizin müşteri kimliğidir.
  5. Çalışma dizininizde yeni bir proje yapısı oluşturmak için aşağıdaki komutları çalıştırın:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. 2. adımda bir OAuth 2.0 istemci kimliği oluşturduysanız indirdiğiniz JSON dosyasını client_secret.json olarak yeniden adlandırın.

  7. Yeniden adlandırdığınız dosyayı, 5. adımda oluşturduğunuz src/main/resources dizinine kaydedin.

  8. Çalışma dizininizde build.gradle dosyasını açın ve içeriğini aşağıdakilerle değiştirin:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        API_SPECIFIC_DEPENDENCY
    }
    
  9. build.gradle dosyasında, "API_SPECIFIC_DEPENDENCY" yazan satırı, çağırdığınız API için kodu derleme talimatıyla değiştirin. YouTube Analytics API için örnek:

    compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0'
    

    Talimat şu şablonu izler:

    compile 'com.google.apis:google-api-services-API_NAME:API_VERSION-   revREVISION-CL_VERSION'
    

Burada:

  • API_NAME, API için GitHub'da listelenen API adıdır. Adı bulmak için Desteklenen Google API'leri sayfasında API'nizin yanındaki sürüm bağlantısını tıklayın. Sürüm bağlantısı, GitHub'a yönlendirir. API adı, sayfanın üst orta kısmında yer alır ve googleapis/google-apis-services- ile başlar. Örneğin, Drive API'nin v3 sürümünde API_NAME, drive olur.
  • API_VERSION, Desteklenen Google API'leri sayfasında API adının altındaki API için listelenen API sürümüdür.
  • REVISION, API'nin JavaDoc referansında listelenen düzeltme numarasıdır. JavaDoc referansını şu adreste bulabilirsiniz: https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
  • CL_VERSION, istemci kitaplığı sürümüdür. Bu değer, JavaDoc referansında da gösterilir.
  • Çalışma dizininizden API Gezgini'ndeki kod örneğini src/main/java/ApiExample.java dizinine kopyalayın. (Her örnekteki sınıf adı ApiExample olduğundan farklı örnekleri çalıştırmak için build.gradle dosyasını değiştirmeniz gerekmez.

Kod örneğini yürütme

Örneği çalıştırmak için aşağıdaki komutu kullanın:

  gradle -q run

Örnek, API isteğinizi yürütmeli ve yanıtı STDOUT konumuna yazdırmalıdır. Veri yazma isteklerinin etkilerini görmek için çağırdığınız hizmeti de kontrol edebilirsiniz.

Node.js

Ön koşullar

  • Node.js
  • Node.js için Google API'leri istemci kitaplığı:

    • İstemci kitaplığını daha önce yüklemediyseniz şu komutu çalıştırın:
    npm install googleapis --save
    
    • Daha önce istemci kitaplığını yüklediyseniz test ettiğiniz kitaplığın en güncel sınıflarına sahip olduğunuzdan emin olmak için kitaplığı güncellemenizi öneririz. İstemci kitaplığını güncellemek için şu komutu çalıştırın:
    npm update googleapis --save
    

Ayarlama

  1. Uygulamanız için bir proje oluşturmak veya seçmek ve API'yi etkinleştirmek üzere API belgelerindeki talimatları uygulayın.
  2. Yöntemin eriştiği veri türüne bağlı olarak bir API anahtarı (herkese açık veriler) veya bir OAuth 2.0 istemci kimliği (gizli veriler) oluşturun.
  3. Uygulama türünü Masaüstü uygulaması olarak ayarlayın.
  4. OAuth 2.0 istemci kimliği oluşturduysanız OAuth 2.0 kimlik bilgilerinizi içeren JSON dosyasını indirin. Bu dosya, client_secret_CLIENTID.json gibi bir adla kaydedilir. Burada CLIENTID, projenizin müşteri kimliğidir.
  5. Kod örneğini yerel bir dosyaya kopyalayın ve API anahtarınızı veya istemci gizli bilgi dosyanızı doğru şekilde tanımlamak için örneği değiştirin. Örnekte, API anahtarı değeri YOUR_API_KEY, istemci gizli anahtarı dosyasının konumu ise YOUR_CLIENT_SECRET_FILE.json'dir.

Kod örneğini yürütme

Örneği çalıştırmak için aşağıdaki komutu kullanın:

  node sample.js

Çoğu örnek, STDOUT konumuna bir API yanıtı (veya başka bir şey) yazdırır.

PHP

Ön koşullar

  • Komut satırı arayüzü (KSA) ve JSON uzantısı ile PHP 5.4 veya üzeri.
  • Composer bağımlılık yönetim aracı küresel olarak yüklenmiş olmalıdır.
  • PHP için Google API'leri İstemci Kitaplığı:

    • İstemci kitaplığını daha önce yüklemediyseniz şu komutu çalıştırın:

      composer require google/apiclient:^2.0
      
    • İstemci kitaplığını daha önce yüklediyseniz test ettiğiniz kitaplığın en güncel sınıflarına sahip olduğunuzdan emin olmak için kitaplığı güncellemenizi öneririz. İstemci kitaplığını güncellemek için şu komutu çalıştırın:

      composer update google/apiclient --with-dependencies
      

Kod örneğini yürütme

Örneği çalıştırmak için aşağıdaki komutu kullanın:

  php sample.php

Çoğu örnek, STDOUT konumuna bir API yanıtı (veya başka bir şey) yazdırır.

Python

Ön koşullar

  • Python 2.7 veya Python 3.5+
  • pip paket yönetimi aracı
  • Python için Google API'leri İstemci Kitaplığı:

    pip install --upgrade google-api-python-client
    
  • Kullanıcı yetkilendirmesi için google-auth-oauthlib ve google-auth-httplib2 kitaplıkları:

    pip install --upgrade google-auth-oauthlib google-auth-httplib2
    

Ayarlama

  1. Uygulamanız için bir proje oluşturmak veya seçmek ve API'yi etkinleştirmek üzere API belgelerindeki talimatları uygulayın.
  2. Yöntemin eriştiği veri türüne bağlı olarak bir API anahtarı (herkese açık veriler) veya bir OAuth 2.0 istemci kimliği (gizli veriler) oluşturun.
  3. Uygulama türünü Masaüstü uygulaması olarak ayarlayın.
  4. OAuth 2.0 istemci kimliği oluşturduysanız OAuth 2.0 kimlik bilgilerinizi içeren JSON dosyasını indirin. Bu dosya, client_secret_CLIENTID.json gibi bir adla kaydedilir. Burada CLIENTID, projenizin müşteri kimliğidir.
  5. Kod örneğini yerel bir dosyaya kopyalayın ve API anahtarınızı veya istemci gizli bilgi dosyanızı doğru şekilde tanımlamak için örneği değiştirin. Örnekte, API anahtarı değeri YOUR_API_KEY, istemci gizli anahtarı dosyasının konumu ise YOUR_CLIENT_SECRET_FILE.json'dir.

Kod örneğini yürütme

Örneği çalıştırmak için aşağıdaki komutu kullanın:

  python sample.py

Çoğu örnek, STDOUT konumuna bir API yanıtı (veya başka bir şey) yazdırır.

Ruby

Ön koşullar

  • Ruby 2.0 veya sonraki sürümler
  • Ruby için Google API'leri İstemci Kitaplığı:

    gem install google-api-client`
    

Ayarlama

  1. Uygulamanız için bir proje oluşturmak veya seçmek ve API'yi etkinleştirmek üzere API belgelerindeki talimatları uygulayın.
  2. Yöntemin eriştiği veri türüne bağlı olarak bir API anahtarı (herkese açık veriler) veya bir OAuth 2.0 istemci kimliği (gizli veriler) oluşturun.
  3. Uygulama türünü Masaüstü uygulaması olarak ayarlayın.
  4. OAuth 2.0 istemci kimliği oluşturduysanız OAuth 2.0 kimlik bilgilerinizi içeren JSON dosyasını indirin. Bu dosya, client_secret_CLIENTID.json gibi bir adla kaydedilir. Burada CLIENTID, projenizin müşteri kimliğidir.
  5. Kod örneğini yerel bir dosyaya kopyalayın ve API anahtarınızı veya istemci gizli bilgi dosyanızı doğru şekilde tanımlamak için örneği değiştirin. Örnekte, API anahtarı değeri YOUR_API_KEY, istemci gizli anahtarı dosyasının konumu ise YOUR_CLIENT_SECRET_FILE.json'dir.

Kod örneğini yürütme

Örneği çalıştırmak için aşağıdaki komutu kullanın:

  ruby sample.rb

Çoğu örnek, STDOUT konumuna bir API yanıtı (veya başka bir şey) yazdırır.

Örneklerle ilgili sorunları giderme

Yetkilendirme iletişim kutusu görünmüyor

API Gezgini, özel verilerinize erişim izni vermek için pop-up kullanır. Tarayıcınız pop-up'ları engelliyorsa bu pop-up görünmez ve erişim izni veremezsiniz.

Yetkilendirme ekranında "İzin ver"i tıkladığınızda hiçbir şey olmuyorsa tarayıcınızın pop-up ayarlarını değiştirerek pop-up'ları etkinleştirmeyi deneyin.

401 veya 403 hatası alındı

Bir örneği test ederken 401 veya 403 hatası alıyorsanız bunun nedeni büyük olasılıkla aşağıdakilerden biriyle ilgili bir sorundur:

  • API, projeniz için etkinleştirilmemiş. Proje oluşturma ve API etkinleştirme ile ilgili olarak API'niz için talimatları inceleyin.
  • Yanlış yetkilendirme türünü (OAuth 2.0 yerine API anahtarı) kullanıyorsunuz.
  • OAuth 2.0 kullanıyorsunuz ancak kapsam çok dar.
  • API anahtarınızı ayarlarken kimlik bilgilerinizin yetkisiz kullanımını önlemek için kısıtlamalar ayarlarsınız. Ancak istek bu kısıtlamaları karşılamıyor. Daha fazla bilgi için API anahtarı kısıtlamalarını kullanma başlıklı makaleyi inceleyin.

Karışık içerik hakkında uyarı alındı

Google Cloud Endpoints kullanıyorsanız ve uç noktanızı bir geliştirme sunucusunda çalıştırıyorsanız tarayıcınız karma içerikle ilgili bir uyarı verebilir. Bu uyarı, API Gezgini HTTPS üzerinden yüklendiği ancak API'niz yerel olarak çalıştırıldığında HTTP'de barındırıldığı için gösterilir.

Chrome'u kullanarak bu uyarıyı gizlemek için aşağıdaki gibi özel işaretlerle bir Chrome oturumu başlatın:

path/to/chrome --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:port

Örneğin:

/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080

Bu uyarıyı yalnızca yerel test amacıyla gizlemelisiniz.

Yalnızca JavaScript: gapi tanımlanmamış

JavaScript kodu, kitaplık yüklenmeden önce JavaScript için Google API İstemci Kitaplığı'nı çağırmaya çalıştığında "gapi is not defined" (gapi tanımlanmadı) hatası oluşur. gapi değişkenine referans veren kodunuzun, istemci kitaplığı yüklendikten sonra çağrıldığından emin olun.