OAuth

Примечание. В этом документе описан трехсторонний поток OAuth2, используемый для запроса доступа к данным других сторон. Используйте этот процесс аутентификации, если вы разрабатываете стороннее приложение, которому требуется доступ к учетным записям Merchant Center ваших клиентов. Если вы разрабатываете собственное приложение, которое будет иметь доступ только к вашей собственной учетной записи Merchant Center, вместо этого обратитесь к руководству по учетным записям служб .

Каждый запрос, который ваше приложение отправляет в API контента Google для покупок, должен включать токен авторизации. Токен также идентифицирует ваше приложение для Google.

О протоколах авторизации

Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Другие протоколы авторизации не поддерживаются. Если ваше приложение использует «Войти через Google» , некоторые аспекты авторизации выполняются за вас.

Авторизация запросов с помощью OAuth 2.0

Все запросы к Google Content API для покупок должны быть авторизованы авторизованным пользователем.

Детали процесса авторизации или «потока» для OAuth 2.0 несколько различаются в зависимости от того, какое приложение вы пишете. Следующий общий процесс применим ко всем типам приложений:

  1. Когда вы создаете свое приложение, вы регистрируете его с помощью консоли Google API . Затем Google предоставляет информацию, которая понадобится вам позже, например идентификатор клиента и секрет клиента.
  2. Активируйте Google Content API для покупок в консоли Google API. (Если API не указан в консоли API, пропустите этот шаг.)
  3. Когда вашему приложению требуется доступ к пользовательским данным, оно запрашивает у Google определенный объем доступа.
  4. Google отображает пользователю экран согласия , прося его разрешить вашему приложению запрашивать некоторые его данные.
  5. Если пользователь одобряет, Google предоставляет вашему приложению кратковременный токен доступа .
  6. Ваше приложение запрашивает пользовательские данные, прикрепляя к запросу токен доступа.
  7. Если Google определит, что ваш запрос и токен действительны, он вернет запрошенные данные.

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

Ниже представлена ​​информация об области действия OAuth 2.0 для Google Content API для покупок:

Объем Значение
https://www.googleapis.com/auth/content Доступ для чтения/записи.

Чтобы запросить доступ с помощью OAuth 2.0, вашему приложению необходима информация об области действия, а также информация, которую Google предоставляет при регистрации вашего приложения (например, идентификатор клиента и секрет клиента).

Совет: Клиентские библиотеки API Google могут выполнить за вас часть процесса авторизации. Они доступны для различных языков программирования; проверьте страницу с библиотеками и образцами для получения более подробной информации.

Получить области OAuth

Мы рекомендуем использовать инкрементальную авторизацию , чтобы избежать проблем с выбором области.

Области OAuth по умолчанию не выбраны на экране согласия для вашего приложения, если вы запрашиваете более одной. Когда ваше приложение отображает экран согласия пользователю, ему приходится вручную выбирать каждую область для авторизации доступа.

Проверьте ответ на запрос OAuth, чтобы убедиться, что вы получили соответствующие области.

Дополнительную информацию см. на странице «Политики OAuth 2.0» .

Запросить проверку приложения

Любые приложения, имеющие доступ к Content API, должны пройти процедуру проверки OAuth. Пользователи непроверенных приложений, которые получают доступ к Content API, будут получать предупреждения , а функциональность приложений будет ограничена . В этом контексте приложение определяется как уникальный идентификатор клиента OAuth 2.0 в Google Cloud.

Процесс проверки обычно занимает 3–5 рабочих дней. Чтобы узнать больше об этом процессе и отправить запрос на проверку, обратитесь к разделу «Проверка приложений».

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

Пример авторизации

Следующий код демонстрирует, как настроить клиент и авторизовать запросы с использованием OAuth 2.0 для веб-приложений. Другие языки доступны на нашей странице «Образцы и библиотеки» .

PHP

В этом примере используется поток веб-приложения . URI перенаправления должен быть URI этой PHP-страницы.

<?php
require_once 'Google/Client.php';

session_start();

$client = new Google_Client();
$client->setApplicationName('Sample Content API application');
$client->setClientId('YOUR_CLIENT_ID');
$client->setClientSecret('YOUR_CLIENT_SECRET');
$client->setRedirectUri('YOUR_REDIRECT_URI');
$client->setScopes('https://www.googleapis.com/auth/content');

if (isset($_SESSION['oauth_access_token'])) {
  $client->setAccessToken($_SESSION['oauth_access_token']);
} elseif (isset($_GET['code'])) {
  $token = $client->authenticate($_GET['code']);
  $_SESSION['oauth_access_token'] = $token;
} else {
  header('Location: ' . $client->createAuthUrl());
  exit;
}

Теперь, когда вы прошли аутентификацию, вы можете создать объект Service для отправки запросов API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);