Protokół OAuth

Uwaga: w tym dokumencie opisano proces trzyetapowej autoryzacji OAuth2 używany do wysyłania żądań dostępu do danych innych firm. Użyj tego procesu uwierzytelniania, jeśli tworzysz aplikację innej firmy, która potrzebuje dostępu do kont Merchant Center Twoich klientów. Jeśli tworzysz własną aplikację, która ma dostęp tylko do Twojego konta Merchant Center, zapoznaj się z przewodnikiem Konta usługi.

Każde żądanie wysyłane przez aplikację do Google Content API for Shopping musi zawierać token autoryzacji. Token stanowi też dla Google identyfikator aplikacji.

Informacje o protokołach autoryzacji

Twoja aplikacja musi autoryzować żądania za pomocą protokołu OAuth 2.0. Inne protokoły nie są obsługiwane. Jeśli aplikacja używa funkcji Zaloguj się przez Google, niektórymi aspektami autoryzacji nie musisz się zajmować.

Autoryzowanie żądań za pomocą protokołu OAuth 2.0

Wszystkie żądania wysyłane do Google Content API for Shopping muszą być autoryzowane przez użytkownika.

Szczegóły procesu autoryzacji z użyciem protokołu OAuth 2.0 różnią się nieznacznie w zależności od rodzaju projektowanej aplikacji. Do większości typów aplikacji ma zastosowanie ten ogólny proces:

  1. Gdy tworzysz aplikację, rejestrujesz ją, korzystając z konsoli interfejsów API Google. Następnie Google przekazuje informacje, które są potrzebne później, takie jak identyfikator klienta i tajny klucz klienta.
  2. Aktywuj interfejs Google Content API for Shopping w konsoli interfejsów API Google. (jeśli interfejsu API nie ma na liście w konsoli, pomijasz ten krok).
  3. Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
  4. Google wyświetla użytkownikowi ekran zgody z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
  5. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  6. Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
  7. Jeśli Google uzna, że żądanie i token są prawidłowe, przesyła dane, o które prosisz.

Niektóre procesy obejmują dodatkowe kroki, takie jak wykorzystanie tokenów odświeżania do uzyskania nowych tokenów dostępu. Szczegółowe informacje o procesach obowiązujących w przypadku różnych typów aplikacji znajdziesz w dokumencie Google na temat protokołu OAuth 2.0.

Oto informacje o zakresie OAuth 2.0 dla interfejsu Google Content API for Shopping:

Zakres Znaczenie
https://www.googleapis.com/auth/content Uprawnienia do odczytu/zapisu.

Aby poprosić o dostęp przy użyciu protokołu OAuth 2.0, aplikacja potrzebuje danych z zakresu oraz informacji przekazywanych przez Google po zarejestrowaniu aplikacji (takich jak identyfikator klienta i tajny klucz klienta).

Wskazówka: biblioteki klienta interfejsów API Google mogą wykonać niektóre procesy autoryzacji za Ciebie. Są dostępne dla różnych języków programowania. Więcej szczegółów znajdziesz na stronie z bibliotekami i próbkami.

Pobranie zakresów OAuth

Zalecamy stosowanie przyrostowej autoryzacji, która pozwala uniknąć problemów z wyborem zakresu.

Zakresy OAuth są domyślnie odznaczane na ekranie zgody w przypadku aplikacji, jeśli wysyłasz więcej niż jeden. Gdy aplikacja przedstawia ekran zgody użytkownikowi, musi wybrać każdy zakres, aby autoryzować dostęp.

Sprawdź odpowiedź z żądania OAuth, aby potwierdzić, że masz odpowiednie zakresy.

Więcej informacji znajdziesz na stronie o zasadach OAuth 2.0.

Poproś o weryfikację aplikacji

Wszystkie aplikacje, które mają dostęp do interfejsu Content API, muszą przejść weryfikację OAuth. Użytkownicy niezweryfikowanych aplikacji, które mają dostęp do Content API, będą otrzymywać ostrzeżenia, a aplikacje będą miały ograniczoną funkcjonalność. W tym kontekście aplikację definiuje się jako unikalny identyfikator klienta OAuth 2.0 w Google Cloud.

Proces weryfikacji trwa zwykle 3–5 dni roboczych. Aby dowiedzieć się więcej o tym procesie i przesłać prośbę o weryfikację, przeczytaj artykuł Weryfikacja aplikacji.

Zasada dotyczy wszystkich aplikacji i zalecamy, aby wszystkie aplikacje przechodziły proces weryfikacji OAuth Google przy najbliższej okazji, co pozwoli uniknąć przerw w działaniu firmy.

Przykład autoryzacji

Poniższy kod pokazuje, jak skonfigurować klienta i autoryzować żądania za pomocą protokołu OAuth 2.0 dla aplikacji internetowych. Inne języki są dostępne na stronie Przykłady i biblioteki.

PHP

W tym przykładzie użyto procesu aplikacji internetowej. Identyfikator URI przekierowania powinien być identyfikatorem URI tej strony 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;
}

Po uwierzytelnieniu możesz utworzyć obiekt Service, za pomocą którego będziesz wysyłać żądania do interfejsu API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);