OAuth

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

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

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

Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Никакие другие протоколы авторизации не поддерживаются. Если ваше приложение использует Sign In With Google , некоторые аспекты авторизации выполняются за вас.

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

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

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

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

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

Вот информация об области действия OAuth 2.0 для Google Content API for Shopping:

Объем Значение
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;
}

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

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);