Как получить доступ к REST API

С помощью Google Pay API for Passes можно добавлять карты постоянных клиентов, подарочные карты, специальные предложения, билеты на мероприятия, посадочные талоны на самолеты и билеты на транспорт и управлять ими непосредственно в приложении Google Pay. Чтобы начать работу с ним, зарегистрируйте свой проект, подключите его к сервису Google Pay API for Passes Merchant Center, а затем настройте веб-сервис для аутентификации по протоколу OAuth 2.0.

1. Зарегистрируйтесь

Подайте заявку на доступ к Google Pay API for Passes. После этого с вами свяжется специалист службы поддержки, чтобы подтвердить ваш сценарий использования API и создать для вас аккаунт.

2. Зарегистрируйте приложение

Все приложения с доступом к API Google необходимо регистрировать в API Console. После регистрации вы получите набор значений, которые будут храниться только в Google и вашем приложении (идентификатор клиента, адрес электронной почты и закрытый ключ). Чтобы зарегистрировать приложение, следуйте инструкции ниже. Вы можете выполнить эти действия, пока создается ваш аккаунт Google Pay API for Passes.

  1. Подайте заявку на доступ к Google Pay API for Passes. Если вы уже получили доступ, перейдите к следующему пункту.
  2. Откройте API Console.
  3. Нажмите кнопку Создать проект или выберите пункт Создать проект в раскрывающемся меню в верхней части страницы. Откроется страница "Создание проекта".
  4. Введите название проекта.
  5. Нажмите кнопку Создать. Когда процесс создания будет завершен, в правом верхнем углу появится уведомление. Нажмите на него, чтобы перейти на главную страницу проекта.
  6. Нажмите Перейти к обзору API, а затем ВКЛЮЧИТЬ API и СЕРВИСЫ.
  7. Найдите Google Pay Passes API и нажмите Включить.
  8. В меню слева выберите Учетные данные.
  9. Нажмите кнопку Создать учетные данные, а затем выберите Ключ сервисного аккаунта.
  10. Создайте ключ сервисного аккаунта странице. При необходимости на той же странице можно создать и сам сервисный аккаунт. Дополнительные роли для такого аккаунта не требуются. В поле "Тип ключа" выберите значение JSON и нажмите Создать.
  11. Если вы создали новый сервисный аккаунт, он появится в списке на следующей странице. Закрытый ключ будет скачан на ваш компьютер. Это единственная копия ключа, поэтому файл с ней нужно сохранить в безопасном месте. Он понадобится вам позже.
  12. Скопируйте адрес электронной почты, привязанный к сервисному аккаунту с ключом. Его можно найти, нажав Управление сервисными аккаунтами на вкладке "Учетные данные". Этот адрес понадобится вам позже.

Предупреждение. Храните закрытый ключ в безопасном месте и используйте его, соблюдая все меры предосторожности как в тестовой, так и в рабочей среде. Google хранит копии только открытых ключей. Более подробную информацию об управлении закрытыми ключами сервисных аккаунтов можно найти здесь.

3. Добавьте сервисный аккаунт в свой аккаунт Google Pay API for Passes

Сервис Google Pay API for Passes Merchant Center – это сайт, на котором вы можете управлять своим аккаунтом, а также всеми связанными с ним классами и объектами. После того как наш специалист создаст для вас аккаунт Google Pay API for Passes, свяжите с ним электронный адрес сервисного аккаунта. Вот как это сделать:

  1. Войдите в сервис Google Pay API for Passes Merchant Center.
  2. Выберите свой аккаунт из списка. Откроется страница "Информация об аккаунте".
  3. Нажмите Поделиться. Появятся настройки доступа.
  4. В разделе регистрации приложения выше скопируйте адрес электронной почты, привязанный к сервисному аккаунту с ключом (заканчивается на @<your_domain>.iam.gserviceaccount.com), и вставьте его в поле Invite people.
  5. Убедитесь, что в раскрывающемся меню "Разрешения" выбран параметр Редактирование, а затем нажмите Отправить. Теперь ваш сервисный аккаунт связан с аккаунтом Google Pay API for Passes. С этого момента вы сможете отправлять API вызовы REST.

4. Как использовать протокол OAuth 2.0 в межсерверных приложениях

Сервер авторизации Google OAuth 2.0 поддерживает взаимодействие между серверами, например между веб-приложением и облачным хранилищем Google. Чтобы получить доступ к API, приложение должно подтвердить свои данные. Это делается без участия пользователя.

Чтобы авторизовать запросы к API, необходимо получить токен доступа. Настоятельно рекомендуем воспользоваться клиентской библиотекой, чтобы упростить процесс.

Как создать учетные данные сервисного аккаунта, используя библиотеку

Во вкладках ниже собраны примеры кода на разных языках программирования, показывающие, как можно создать учетные данные сервисного аккаунта.

Java

GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport)
  .setJsonFactory(jsonFactory)
  .setServiceAccountId("ServiceAccountEmail@developer.gserviceaccount.com")
  .setServiceAccountScopes("https://www.googleapis.com/auth/wallet_object.issuer")
  .setServiceAccountPrivateKey(new File("/example/path/to/privatekey.json"))
  .build();

PHP

$client = new Google_Client();
$client->setApplicationName('Wallet Objects App');
$client->setScopes(array('https://www.googleapis.com/auth/wallet_object.issuer'));
$client->setAuthConfigFile('/example/path/to/privatekey.json');

Python

file_path = '/example/path/to/privatekey.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    file_path,
    'https://www.googleapis.com/auth/wallet_object.issuer')

http = httplib2.Http()
http = credentials.authorize(http)

Используя полученные учетные данные, вы сможете выполнять команды REST API, например добавлять классы.

Как получить токен доступа вручную

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

  • В поле iss в наборе утверждений JWT указывается адрес электронной почты сервисного аккаунта, созданного в Google API Console в разделе регистрации приложения.
  • В поле scope в наборе утверждений JWT задается список разрешений, запрашиваемых приложением (вводится через пробел).
  • Для рабочих приложений используется область действия https://www.googleapis.com/auth/wallet_object.issuer.

Выполнив описанные выше действия, ознакомьтесь со статьей Сохранение в Google Pay. В нем рассказывается, как пользователи могут легко сохранять в Google Pay карты постоянного клиента, подарочные карты, специальные предложения, билеты на мероприятия, посадочные талоны и проездные билеты.