Przykładowe kody

Eksplorator API Google dynamicznie generuje przykłady kodu. Te przykładowe kody są zaprojektowane do kopiowania i uruchamiania lokalnie. Aby wyświetlić próbki, kliknij Pełny ekran w panelu bocznym eksploratora interfejsów API. Poniższa ilustracja przedstawia rozwinięty eksplorator interfejsów API na pełnym ekranie:

Pełnoekranowy panel APIs Explorer dla Książek Google
Ilustracja 2. Pełnoekranowy interfejs API Eksploratora interfejsów API Książek Google

Domyślnie eksplorator interfejsów API pokazuje, jak użyć polecenia cURL do wykonania żądania. Niektóre interfejsy API mogą też wyświetlać przykłady w innych językach, takich jak JavaScript, Java i Python.

Uruchamianie lokalnych przykładów kodu

Na kartach poniżej znajdziesz wymagania wstępne i instrukcje uruchamiania przykładowych kodów. Aby uruchomić przykładowy kod, musisz wygenerować i wykorzystać własne dane uwierzytelniające. Objaśnienia dotyczące tworzenia projektu i generowania danych logowania znajdziesz w dokumentacji konkretnego interfejsu Google API.

W zależności od typu danych (publicznych lub prywatnych) dostępnych są te dane logowania:

  • W przypadku danych publicznych dane logowania to klucz interfejsu API.
  • W przypadku danych prywatnych dane logowania to plik client_secret.json zawierający identyfikator klienta OAuth 2.0 i tajny klucz klienta albo token dostępu OAuth 2.0.

cURL

Konfiguracja

  1. Postępuj zgodnie z instrukcjami w dokumentacji interfejsu API, aby utworzyć lub wybrać projekt dla aplikacji i włączyć ten interfejs.
  2. W Cloud Console utwórz klucz interfejsu API.
  3. W Cloud Console utwórz dane uwierzytelniające klienta OAuth dla aplikacji internetowej i użyj https://developers.google.com/oauthplayground jako identyfikatora URI przekierowania.
  4. W sekcji OAuth 2.0 Playground kliknij Konfiguracja OAuth 2.0 .
  5. Zaznacz Używaj własnych danych logowania.
  6. Wpisz identyfikator klienta i tajny klucz klienta wygenerowany w kroku 3.
  7. W polu zakresów wpisz zakres, który ma być używany z Twoją metodą, i kliknij Autoryzuj interfejsy API.
  8. (Opcjonalnie) Jeśli wyświetli się ekran logowania, wybierz konto, którego chcesz użyć.
  9. (Opcjonalnie) Jeśli wyświetli się ekran autoryzacji, kliknij Zaakceptuj.
  10. Kliknij Kod autoryzacji Exchange dla tokenów. Token jest zwracany.
  11. W przykładowym kodzie cURL zastąp [YOUR_API_KEY] kluczem interfejsu API wygenerowanym w kroku 2: 'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
  12. W przykładowym kodzie cURL zastąp w pliku [YOUR_ACCESS_TOKEN] tokenem dostępu wygenerowanym w kroku 10: --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \

Przykładowy kod wykonania

Uruchom wiersz poleceń cURL w wierszu poleceń. Polecenie powinno być podobne do tego:

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

JavaScript

Konfiguracja

  1. Postępuj zgodnie z instrukcjami w dokumentacji interfejsu API, aby utworzyć lub wybrać projekt dla aplikacji i włączyć ten interfejs.
  2. W Cloud Console utwórz klucz interfejsu API.
  3. W Cloud Console utwórz dane uwierzytelniające klienta OAuth dla &aplikacji internetowej i skonfiguruj autoryzowane źródła JavaScriptu w celu identyfikowania adresów URL, z których będziesz wysyłać żądania, na przykład http://localhost.
  4. Skopiuj cały przykładowy kod do pliku lokalnego dostępnego na Twoim serwerze WWW, np. /var/www/html/example.html.
  5. Znajdź w przykładowym kodzie wiersz, który ustawia klucz interfejsu API lub identyfikator klienta, i zastąp wartość wartościami wygenerowanymi w krokach 2 i 3:

    • Klucz interfejsu API: gapi.client.setApiKey(YOUR_API_KEY);
    • OAuth 2.0 ID klienta: gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

Przykładowy kod wykonania

  1. Otwórz plik w przeglądarce, na przykład http://localhost/example.html. Zalecamy korzystanie z przeglądarki z konsolą do debugowania, np. Google Chrome.
  2. (Opcjonalnie) Jeśli wyświetli się ekran logowania, wybierz konto, którego chcesz użyć.
  3. (Opcjonalnie) Jeśli wyświetli się ekran autoryzacji, kliknij Zaakceptuj. Konsola debugowania powinna wyświetlić odpowiedź metody jako obiekt JSON.

Java

Wymagania wstępne

  • Java 1.7 lub nowsza.
  • Gradle 7 lub nowsze.

Konfiguracja

  1. Postępuj zgodnie z instrukcjami w dokumentacji interfejsu API, aby utworzyć lub wybrać projekt dla aplikacji i włączyć ten interfejs.
  2. W zależności od tego, do jakiego typu danych ma dostęp, utwórz klucz interfejsu API (dane publiczne) lub identyfikator klienta OAuth 2.0 (dane prywatne).
  3. Ustaw typ aplikacji na Aplikacja komputerowa.
  4. Jeśli utworzono identyfikator klienta OAuth 2.0, pobierz plik JSON zawierający dane logowania OAuth 2.0. Będzie on miał nazwę podobną do client_secret_CLIENTID.json, gdzie CLIENTID to identyfikator klienta projektu.
  5. W katalogu roboczym uruchom te polecenia, aby utworzyć nową strukturę projektu:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. Jeśli w kroku 2 utworzysz identyfikator klienta OAuth 2.0, zmień nazwę pliku JSON pobranego na: client_secret.json.

  7. Zapisz zmienioną nazwę pliku w katalogu src/main/resources utworzonym w kroku 5.

  8. W katalogu roboczym otwórz plik build.gradle i zastąp jego zawartość:

    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. W pliku build.gradle zastąp wiersz API_SPECIFIC_DEPENDENCY instrukcją kompilowania kodu interfejsu API, który wywołuje. Oto przykład interfejsu YouTube Analytics API:

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

    Postępuj zgodnie z tym szablonem:

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

Gdzie:

  • API_NAME to nazwa interfejsu API widoczna na GitHubie. Aby znaleźć tę nazwę, kliknij link wersji obok interfejsu API na stronie Obsługiwane interfejsy API Google. Link do wersji prowadzi do GitHuba. Nazwa interfejsu API znajduje się w górnej części strony i jest poprzedzona ciągiem googleapis/google-apis-services-. Na przykład w wersji 3 interfejsu Drive API API_NAME jest drive.
  • API_VERSION to wersja interfejsu API widoczna pod nazwą interfejsu API na stronie Obsługiwane interfejsy API Google.
  • REVISION to numer wersji podany w odniesieniu do interfejsu API w języku JavaDoc. Odniesienie do Javy można znaleźć w https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
  • CL_VERSION to wersja biblioteki klienta. Ta wartość pojawia się również w pliku referencyjnym JavaDoc.
  • Skopiuj przykładowy kod z eksploratora interfejsów API do katalogu src/main/java/ApiExample.java z katalogu roboczego. (Nazwy klas w poszczególnych próbkach to ApiExample, więc nie musisz modyfikować pliku build.gradle, aby uruchamiać różne przykłady.

Przykładowy kod wykonania

Uruchom to polecenie:

  gradle -q run

Przykład powinien wykonać żądanie API i wydrukować odpowiedź do STDOUT. Możesz też sprawdzić wywoływaną usługę, aby zobaczyć wpływ żądań, które zapisują dane.

Node.js

Wymagania wstępne

  • Node.js
  • Biblioteka klienta interfejsów API Google dla Node.js:

    • Jeżeli biblioteka klienta nie została wcześniej zainstalowana, uruchom polecenie:
    npm install googleapis --save
    
    • Jeśli biblioteka klienta została wcześniej zainstalowana, zalecamy zaktualizowanie jej, aby mieć dostęp do najnowszych zajęć dla testowanej biblioteki. Aby zaktualizować bibliotekę klienta, uruchom polecenie:
    npm update googleapis --save
    

Konfiguracja

  1. Postępuj zgodnie z instrukcjami w dokumentacji interfejsu API, aby utworzyć lub wybrać projekt dla aplikacji i włączyć ten interfejs.
  2. W zależności od tego, do jakiego typu danych ma dostęp, utwórz klucz interfejsu API (dane publiczne) lub identyfikator klienta OAuth 2.0 (dane prywatne).
  3. Ustaw typ aplikacji na Aplikacja komputerowa.
  4. Jeśli utworzono identyfikator klienta OAuth 2.0, pobierz plik JSON zawierający dane logowania OAuth 2.0. Będzie on miał nazwę podobną do client_secret_CLIENTID.json, gdzie CLIENTID to identyfikator klienta projektu.
  5. Skopiuj przykładowy kod do pliku lokalnego i zmodyfikuj go, aby prawidłowo zidentyfikować klucz interfejsu API lub plik obiektów tajnych klienta. W tym przykładzie klucz interfejsu API to YOUR_API_KEY, a lokalizacja pliku tajnego klucza klienta to YOUR_CLIENT_SECRET_FILE.json.

Przykładowy kod wykonania

Uruchom to polecenie:

  node sample.js

Większość przykładów wyświetla interfejs API (lub inny) przez interfejs STDOUT.

PHP

Wymagania wstępne

  • PHP 5.4 lub nowszy z interfejsem wiersza poleceń i rozszerzeniem JSON.
  • Narzędzie do zarządzania zależnościami narzędzia Composer zainstalowane na całym świecie.
  • Biblioteka klienta Google APIs for PHP:

    • Jeżeli biblioteka klienta nie została wcześniej zainstalowana, uruchom polecenie:

      composer require google/apiclient:^2.0
      
    • Jeśli biblioteka klienta została wcześniej zainstalowana, zalecamy zaktualizowanie jej, aby mieć pewność, że masz aktualne klasy biblioteki, którą testujesz. Aby zaktualizować bibliotekę klienta, uruchom polecenie:

      composer update google/apiclient --with-dependencies
      

Przykładowy kod wykonania

Uruchom to polecenie:

  php sample.php

Większość przykładów wyświetla interfejs API (lub inny) przez interfejs STDOUT.

Python

Wymagania wstępne

  • Python 2.7 lub Python w wersji 3.5 lub nowszej
  • Narzędzie do zarządzania pakietami pip
  • Biblioteka klienta Google API dla Pythona:

    pip install --upgrade google-api-python-client
    
  • Biblioteki google-auth-oauthlib i google-auth-httplib2 do autoryzacji użytkowników:

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

Konfiguracja

  1. Postępuj zgodnie z instrukcjami w dokumentacji interfejsu API, aby utworzyć lub wybrać projekt dla aplikacji i włączyć ten interfejs.
  2. W zależności od tego, do jakiego typu danych ma dostęp, utwórz klucz interfejsu API (dane publiczne) lub identyfikator klienta OAuth 2.0 (dane prywatne).
  3. Ustaw typ aplikacji na Aplikacja komputerowa.
  4. Jeśli utworzono identyfikator klienta OAuth 2.0, pobierz plik JSON zawierający dane logowania OAuth 2.0. Będzie on miał nazwę podobną do client_secret_CLIENTID.json, gdzie CLIENTID to identyfikator klienta projektu.
  5. Skopiuj przykładowy kod do pliku lokalnego i zmodyfikuj go, aby prawidłowo zidentyfikować klucz interfejsu API lub plik obiektów tajnych klienta. W tym przykładzie klucz interfejsu API to YOUR_API_KEY, a lokalizacja pliku tajnego klucza klienta to YOUR_CLIENT_SECRET_FILE.json.

Przykładowy kod wykonania

Uruchom to polecenie:

  python sample.py

Większość przykładów wyświetla interfejs API (lub inny) przez interfejs STDOUT.

Ruby

Wymagania wstępne

  • Ruby 2.0 lub nowsza
  • Biblioteka klienta interfejsów API Google dla języka Ruby:

    gem install google-api-client`
    

Konfiguracja

  1. Postępuj zgodnie z instrukcjami w dokumentacji interfejsu API, aby utworzyć lub wybrać projekt dla aplikacji i włączyć ten interfejs.
  2. W zależności od tego, do jakiego typu danych ma dostęp, utwórz klucz interfejsu API (dane publiczne) lub identyfikator klienta OAuth 2.0 (dane prywatne).
  3. Ustaw typ aplikacji na Aplikacja komputerowa.
  4. Jeśli utworzono identyfikator klienta OAuth 2.0, pobierz plik JSON zawierający dane logowania OAuth 2.0. Będzie on miał nazwę podobną do client_secret_CLIENTID.json, gdzie CLIENTID to identyfikator klienta projektu.
  5. Skopiuj przykładowy kod do pliku lokalnego i zmodyfikuj go, aby prawidłowo zidentyfikować klucz interfejsu API lub plik obiektów tajnych klienta. W tym przykładzie klucz interfejsu API to YOUR_API_KEY, a lokalizacja pliku tajnego klucza klienta to YOUR_CLIENT_SECRET_FILE.json.

Przykładowy kod wykonania

Uruchom to polecenie:

  ruby sample.rb

Większość przykładów wyświetla interfejs API (lub inny) przez interfejs STDOUT.

Rozwiązywanie przykładowych problemów

Okno autoryzacji nie jest wyświetlane

Eksplorator interfejsów API używa wyskakującego okienka do przyznawania dostępu do prywatnych danych. Jeśli przeglądarka zablokuje wyskakujące okienka, nie będą one wyświetlane i nie będzie można przyznać do nich dostępu.

Jeśli po kliknięciu „Zezwalaj” na ekranie autoryzacji nic się nie dzieje, spróbuj zmienić ustawienia wyskakujących okienek w przeglądarce.

Pojawił się błąd 401 lub 403

Jeśli podczas testowania próbki wystąpi błąd 401 lub 403, prawdopodobną przyczyną jest problem z jedną z tych przyczyn:

  • Interfejs API nie jest włączony w Twoim projekcie. Sprawdź instrukcje dotyczące tworzenia projektu i włączania interfejsu API.
  • Używasz niewłaściwego typu autoryzacji (klucza interfejsu API zamiast OAuth 2.0).
  • Używasz protokołu OAuth 2.0, ale ma on zbyt ograniczony zakres.
  • Podczas konfigurowania klucza interfejsu API określasz ograniczenia, które mają zapobiec nieautoryzowanemu użyciu Twoich danych logowania. Prośba nie spełnia jednak tych ograniczeń. Więcej informacji znajdziesz w artykule na temat ograniczeń korzystania z kluczy interfejsu API.

Otrzymano ostrzeżenie o treści mieszanej

Jeśli korzystasz z punktów końcowych Google Cloud i uruchamiasz punkt końcowy na serwerze rozwojowym, przeglądarka może ostrzegać o treści mieszanej. To ostrzeżenie pojawia się, gdy interfejs API Explorer jest ładowany przez HTTPS, ale gdy działa lokalnie, jest hostowany przez HTTP.

Aby ukryć to ostrzeżenie przy użyciu Chrome, rozpocznij sesję Chrome ze specjalnymi flagami:

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

Przykład:

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

To ostrzeżenie należy ukryć tylko do testów lokalnych.

Tylko JavaScript: gapi nie jest zdefiniowany

Błąd „gquot” nie występuje, gdy kod JavaScript próbuje wywołać bibliotekę klienta interfejsu API Google dla JavaScriptu przed jej wczytaniem. Upewnij się, że kod, który odwołuje się do zmiennej gapi, nie zostanie wywołany do momentu załadowania biblioteki klienta.