Выполнение примеров кода

Google API Explorer динамически создает образцы кода. Эти примеры кода предназначены для локального копирования и запуска. Чтобы просмотреть образцы, щелкните Полноэкранный режим на боковой панели проводника API. На рисунке ниже показан расширенный полноэкранный проводник API:

Полноэкранная панель APIs Explorer для API Google Книг
Рис. 2. Полноэкранная панель APIs Explorer для API Google Книг.

По умолчанию проводник API показывает, как использовать cURL для выполнения вашего запроса. Некоторые API могут также отображать образцы для других языков, таких как JavaScript, Java и Python.

Запускайте образцы кода локально

На следующих вкладках объясняются необходимые условия и шаги для запуска примеров кода. Для запуска примеров кода необходимо создать и использовать собственные учетные данные для авторизации. Чтобы узнать, как создать проект и сгенерировать учетные данные, обратитесь к документации по конкретному API Google.

Учетные данные являются одним из следующих, в зависимости от типа данных (общедоступных или частных), к которым обращается метод:

  • Для общедоступных данных учетные данные — это ключ API.
  • Для личных данных учетными данными является либо файл client_secret.json , содержащий ваш идентификатор клиента OAuth 2.0 и секрет клиента, либо токен доступа OAuth 2.0.

CURL

Настраивать

  1. Следуйте инструкциям в документации по API, чтобы создать или выбрать проект для своего приложения и включить API.
  2. В облачной консоли создайте ключ API.
  3. В облачной консоли создайте учетные данные идентификатора клиента OAuth для веб-приложения и используйте https://developers.google.com/oauthplayground в качестве URI перенаправления.
  4. На игровой площадке OAuth 2.0 щелкните конфигурации OAuth 2.0 .
  5. Установите флажок Использовать собственные учетные данные .
  6. Введите идентификатор клиента и секрет клиента, созданные на шаге 3.
  7. В поле областей введите область, которую следует использовать с вашим методом, и щелкните Авторизовать API .
  8. (необязательно) Если отображается экран входа в систему, выберите учетную запись для использования.
  9. (необязательно) Если отображается экран авторизации, нажмите « Принять » .
  10. Щелкните Код авторизации Exchange для токенов . Токен возвращается.
  11. В примере кода cURL замените [YOUR_API_KEY] ключом API, сгенерированным на шаге 2: 'https://www.googleapis.com/drive/v3/files?key= [YOUR_API_KEY] ' \
  12. В примере кода cURL замените [YOUR_ACCESS_TOKEN] токеном доступа, сгенерированным на шаге 10: --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN] ' \

Выполнить образец кода

В командной строке выполните команду cURL. Команда должна быть похожа на эту:

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

JavaScript

Настраивать

  1. Следуйте инструкциям в документации по API, чтобы создать или выбрать проект для своего приложения и включить API.
  2. В облачной консоли создайте ключ API.
  3. В облачной консоли создайте учетные данные идентификатора клиента OAuth для «веб-приложения» и задайте авторизованные источники JavaScript, чтобы указать URL-адрес, с которого вы будете отправлять запросы, например http://localhost .
  4. Скопируйте полный пример кода в локальный файл, доступный для вашего веб-сервера, например, /var/www/html/example.html .
  5. Найдите в образце кода строку, в которой задается ключ API или идентификатор клиента, и замените это значение значениями, сгенерированными на шагах 2 и 3:

    • Ключ API: gapi.client.setApiKey( YOUR_API_KEY );
    • Идентификатор клиента OAuth 2.0: gapi.client.init({ 'clientId': ' YOUR_CLIENT_ID ',

Выполнить образец кода

  1. Откройте файл в браузере, например http://localhost/example.html . Мы рекомендуем использовать браузер с консолью отладки, например Google Chrome.
  2. (необязательно) Если отображается экран входа в систему, выберите учетную запись для использования.
  3. (необязательно) Если отображается экран авторизации, нажмите « Принять » . Консоль отладки должна отображать ответ метода в виде объекта JSON.

Ява

Предпосылки

  • Java 1.7 или выше.
  • Gradle 7 или выше.

Настраивать

  1. Следуйте инструкциям в документации по API, чтобы создать или выбрать проект для своего приложения и включить API.
  2. В зависимости от типа данных, к которым обращается метод, создайте ключ API (общедоступные данные) или создайте идентификатор клиента OAuth 2.0 (частные данные).
  3. Установите тип приложения на Приложение для рабочего стола .
  4. Если вы создали идентификатор клиента OAuth 2.0, загрузите файл JSON, содержащий ваши учетные данные OAuth 2.0. Имя этого файла похоже на client_secret_ CLIENTID .json , где CLIENTID — это идентификатор клиента для вашего проекта.
  5. В рабочем каталоге выполните следующие команды, чтобы создать новую структуру проекта:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. Если вы создали идентификатор клиента OAuth 2.0 на шаге 2, переименуйте загруженный файл JSON в client_secret.json .

  7. Сохраните переименованный файл в каталоге src/main/resources , который вы создали на шаге 5.

  8. В рабочем каталоге откройте файл build.gradle и замените его содержимое следующим:

    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 замените строку API_SPECIFIC_DEPENDENCY на инструкцию по компиляции кода для API, который вы вызываете. Вот пример API YouTube Analytics:

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

    Инструкция следует этому шаблону:

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

Где:

  • API_NAME — это имя API, указанное на GitHub для API. Чтобы найти имя, щелкните ссылку версии рядом с вашим API на странице Поддерживаемые API Google. Ссылка на версию ведет на GitHub. Имя API находится вверху посередине страницы, и ему предшествует googleapis/google-apis-services- . Например, для Drive API v3 API_NAME — это drive .
  • API_VERSION — это версия API, указанная для API под именем API на странице Поддерживаемые API Google.
  • REVISION — это номер версии, указанный в справочнике JavaDoc для API. Справочник по JavaDoc можно найти по адресу https://googleapis.dev/java/google-api-services- API_NAME /latest/index.html
  • CL_VERSION — версия клиентской библиотеки. Это значение также появляется в справке по JavaDoc.
  • Из своего рабочего каталога скопируйте пример кода из APIs Explorer в src/main/java/ApiExample.java . (Имя класса в каждом примере — ApiExample , поэтому вам не нужно изменять файл build.gradle для запуска разных примеров.

Выполнить образец кода

Используйте следующую команду для запуска примера:

  gradle -q run

Образец должен выполнить ваш запрос API и вывести ответ на STDOUT . Вы также можете проверить службу, которую вы вызываете, чтобы увидеть результаты запросов, записывающих данные.

Node.js

Предпосылки

  • Node.js
  • Клиентская библиотека API Google для Node.js:

    • Если вы ранее не устанавливали клиентскую библиотеку, выполните команду:
    npm install googleapis --save
    
    • Если вы ранее установили клиентскую библиотеку, мы рекомендуем обновить ее, чтобы убедиться, что у вас есть самые последние классы для тестируемой библиотеки. Чтобы обновить клиентскую библиотеку, выполните команду:
    npm update googleapis --save
    

Настраивать

  1. Следуйте инструкциям в документации по API, чтобы создать или выбрать проект для своего приложения и включить API.
  2. В зависимости от типа данных, к которым обращается метод, создайте ключ API (общедоступные данные) или создайте идентификатор клиента OAuth 2.0 (частные данные).
  3. Установите тип приложения на Приложение для рабочего стола .
  4. Если вы создали идентификатор клиента OAuth 2.0, загрузите файл JSON, содержащий ваши учетные данные OAuth 2.0. Имя этого файла похоже на client_secret_ CLIENTID .json , где CLIENTID — это идентификатор клиента для вашего проекта.
  5. Скопируйте пример кода в локальный файл и измените его, чтобы он правильно определял ваш ключ API или файл секретов клиента. В примере значение ключа API — YOUR_API_KEY , а расположение файла секретов клиента — YOUR_CLIENT_SECRET_FILE.json .

Выполнить образец кода

Используйте следующую команду для запуска примера:

  node sample.js

Большинство примеров выводят ответ API (или что-то еще) в STDOUT .

PHP

Предпосылки

  • PHP 5.4 или выше с интерфейсом командной строки (CLI) и расширением JSON.
  • Инструмент управления зависимостями Composer установлен глобально.
  • Клиентская библиотека API Google для PHP:

    • Если вы ранее не устанавливали клиентскую библиотеку, выполните команду:

      composer require google/apiclient:^2.0
      
    • Если вы ранее установили клиентскую библиотеку, мы рекомендуем обновить ее, чтобы убедиться, что у вас есть самые последние классы для тестируемой библиотеки. Чтобы обновить клиентскую библиотеку, выполните команду:

      composer update google/apiclient --with-dependencies
      

Выполнить образец кода

Используйте следующую команду для запуска примера:

  php sample.php

Большинство примеров выводят ответ API (или что-то еще) в STDOUT .

Питон

Предпосылки

  • Python 2.7 или Python 3.5+
  • Инструмент управления пакетами pip
  • Клиентская библиотека API Google для Python:

    pip install --upgrade google-api-python-client
    
  • Библиотеки google-auth-oauthlib и google-auth-httplib2 для авторизации пользователей:

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

Настраивать

  1. Следуйте инструкциям в документации по API, чтобы создать или выбрать проект для своего приложения и включить API.
  2. В зависимости от типа данных, к которым обращается метод, создайте ключ API (общедоступные данные) или создайте идентификатор клиента OAuth 2.0 (частные данные).
  3. Установите тип приложения на Приложение для рабочего стола .
  4. Если вы создали идентификатор клиента OAuth 2.0, загрузите файл JSON, содержащий ваши учетные данные OAuth 2.0. Имя этого файла похоже на client_secret_ CLIENTID .json , где CLIENTID — это идентификатор клиента для вашего проекта.
  5. Скопируйте пример кода в локальный файл и измените его, чтобы он правильно определял ваш ключ API или файл секретов клиента. В примере значение ключа API — YOUR_API_KEY , а расположение файла секретов клиента — YOUR_CLIENT_SECRET_FILE.json .

Выполнить образец кода

Используйте следующую команду для запуска примера:

  python sample.py

Большинство примеров выводят ответ API (или что-то еще) в STDOUT .

Рубин

Предпосылки

  • Руби 2.0 или выше
  • Клиентская библиотека API Google для Ruby:

    gem install google-api-client`
    

Настраивать

  1. Следуйте инструкциям в документации по API, чтобы создать или выбрать проект для своего приложения и включить API.
  2. В зависимости от типа данных, к которым обращается метод, создайте ключ API (общедоступные данные) или создайте идентификатор клиента OAuth 2.0 (частные данные).
  3. Установите тип приложения на Приложение для рабочего стола .
  4. Если вы создали идентификатор клиента OAuth 2.0, загрузите файл JSON, содержащий ваши учетные данные OAuth 2.0. Имя этого файла похоже на client_secret_ CLIENTID .json , где CLIENTID — это идентификатор клиента для вашего проекта.
  5. Скопируйте пример кода в локальный файл и измените его, чтобы он правильно определял ваш ключ API или файл секретов клиента. В примере значение ключа API — YOUR_API_KEY , а расположение файла секретов клиента — YOUR_CLIENT_SECRET_FILE.json .

Выполнить образец кода

Используйте следующую команду для запуска примера:

  ruby sample.rb

Большинство примеров выводят ответ API (или что-то еще) в STDOUT .

Устранение проблем с примерами

Диалог авторизации не появляется

Проводник API использует всплывающее окно для предоставления доступа к вашим личным данным. Если ваш браузер блокирует всплывающие окна, это всплывающее окно не появится, и вы не сможете предоставить доступ.

Если вы нажмете «Разрешить» на экране авторизации и ничего не произойдет, попробуйте изменить настройки всплывающих окон браузера, чтобы включить всплывающие окна.

Получил ошибку 401 или 403

Если вы получаете сообщение об ошибке 401 или 403 при тестировании образца, вероятно, это связано с одной из следующих проблем:

  • API не включен для вашего проекта. Ознакомьтесь с инструкциями для вашего API о том, как создать проект и включить API.
  • Вы используете неправильный тип авторизации (ключ API вместо OAuth 2.0).
  • Вы используете OAuth 2.0, но в слишком узкой области.
  • При настройке ключа API вы устанавливаете ограничения для предотвращения несанкционированного использования ваших учетных данных. Однако запрос не соответствует этим ограничениям. Дополнительные сведения см. в разделе Использование ограничений ключа API .

Получено предупреждение о смешанном содержании

Если вы используете Google Cloud Endpoints и используете конечную точку на сервере разработки , ваш браузер может выдать предупреждение о смешанном содержании. Это предупреждение возникает из-за того, что обозреватель API загружается через HTTPS, но когда ваш API запускается локально, он размещается по протоколу HTTP.

Чтобы скрыть это предупреждение с помощью Chrome, запустите сеанс Chrome со специальными флагами следующим образом:

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

Например:

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

Это предупреждение следует скрывать только в целях локального тестирования.

Только для JavaScript: gapi не определен

Ошибка "gapi не определена" возникает, когда код JavaScript пытается вызвать клиентскую библиотеку API Google для JavaScript до загрузки библиотеки. Убедитесь, что ваш код, ссылающийся на переменную gapi , не вызывается до тех пор, пока не загрузится клиентская библиотека.