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

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

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

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

  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 хранит копии только открытых ключей. Более подробную информацию об управлении секретным ключом сервисного аккаунта можно найти здесь.

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

Аккаунт Google Pay API for Passes уже должен быть создан для вас представителем Google. Сервис Google Pay API for Passes Merchant Center – это веб-сайт, на котором вы можете управлять своим аккаунтом, а также всеми связанными с ним классами и объектами. Чтобы добавить сервисный аккаунт в Google Pay API for Passes Merchant Center, выполните указанные ниже действия.

  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.

3. Как использовать протокол 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 карты постоянного клиента, подарочные карты, специальные предложения, билеты на мероприятия, посадочные талоны и проездные билеты.