OAuth

Remarque : Ce document décrit le flux d'autorisation OAuth 2 à trois acteurs utilisé pour demander l'accès aux données d'autres parties. Utilisez ce flux d'authentification si vous développez une application tierce qui doit accéder aux comptes Merchant Center de vos clients. Si vous développez une application en interne qui doit uniquement accéder à votre propre compte Merchant Center, consultez plutôt le guide sur les comptes de service.

Chaque requête envoyée par votre application à Google Content API for Shopping doit inclure un jeton d'autorisation. Ce jeton permet également d'identifier votre application auprès de Google.

À propos des protocoles d'autorisation

Votre application doit autoriser les requêtes via le protocole OAuth 2.0. Les autres protocoles d'autorisation ne sont pas acceptés. Si votre application utilise la fonctionnalité Se connecter avec Google, certains paramètres d'autorisation sont gérés automatiquement.

Autoriser des requêtes avec OAuth 2.0

Toutes les requêtes adressées à Google Content API for Shopping doivent être autorisées par un utilisateur authentifié.

Les détails de la procédure d'autorisation (ou "flux") pour OAuth 2.0 varient légèrement selon le type d'application que vous développez. La procédure générale suivante s'applique à tous les types d'applications :

  1. Lorsque vous créez votre application, vous l'enregistrez dans la console Google APIs. Google fournit ensuite des informations dont vous aurez besoin ultérieurement, dont un ID et un code secret de client.
  2. Activez Google Content API for Shopping dans la console API Google. (Si l'API ne figure pas dans la console API, ignorez cette étape.)
  3. Lorsque votre application doit accéder à des données utilisateur, elle demande à Google un niveau d'accès particulier.
  4. Google affiche alors un écran de consentement qui invite l'utilisateur à autoriser votre application à accéder à certaines de ses données.
  5. Si l'utilisateur accepte, Google attribue à votre application un jeton d'accès temporaire.
  6. Votre application demande des données utilisateur en joignant le jeton d'accès à la requête.
  7. Dès lors que Google valide la requête et le jeton, les données demandées sont renvoyées.

Certains flux comportent d'autres étapes, comme l'utilisation de jetons d'actualisation pour obtenir de nouveaux jetons d'accès. Si vous souhaitez en savoir plus sur les flux pour différents types d'applications, consultez la documentation sur OAuth 2.0 de Google.

Voici les informations sur le niveau d'accès d'OAuth 2.0 pour Google Content API for Shopping :

Niveau d'accès Signification
https://www.googleapis.com/auth/content Accès en lecture/écriture

Pour demander l'accès via OAuth 2.0, votre application a besoin du niveau d'accès ainsi que des informations fournies par Google lors de son enregistrement (l'ID et le code secret du client, par exemple).

Conseil : Les bibliothèques clientes des API Google peuvent gérer une partie de la procédure d'autorisation à votre place. Elles sont disponibles pour de nombreux langages de programmation. Pour en savoir plus, consultez la page Exemples de code et bibliothèques.

Récupérer les niveaux d'accès OAuth

Nous vous recommandons d'utiliser l'autorisation incrémentielle pour éviter les problèmes de sélection du niveau d'accès.

Les niveaux d'accès OAuth sont désélectionnés par défaut dans l'écran de consentement de votre application si vous en demandez plusieurs. Lorsque votre application présente l'écran de consentement à un utilisateur, celui-ci doit sélectionner manuellement chaque niveau pour autoriser l'accès.

Examinez la réponse d'une requête OAuth pour vérifier que vous avez reçu les niveaux d'accès appropriés.

Pour en savoir plus, consultez la page Règles OAuth 2.0.

Demander la validation d'une application

Toutes les applications qui accèdent à Content API doivent suivre la procédure de validation OAuth. Les utilisateurs d'applications non validées qui accèdent à Content API verront des avertissements, et les applications auront des fonctionnalités limitées. Dans ce contexte, une application est définie comme un ID client OAuth 2.0 unique dans Google Cloud.

La procédure de validation prend généralement trois à cinq jours ouvrés. Pour en savoir plus sur cette procédure et pour demander une validation, consultez Validation des applications.

Cette règle s'applique à toutes les applications. Nous vous recommandons de soumettre toutes les applications à la procédure de validation Google OAuth dans les plus brefs délais afin d'éviter toute interruption de service.

Exemple d'autorisation

Le code suivant montre comment configurer votre client et autoriser les requêtes à l'aide d'OAuth 2.0 pour les applications Web. Des exemples dans d'autres langages sont disponibles sur la page Exemples de code et bibliothèques.

PHP

Cet exemple utilise le flux d'application Web. L'URI de redirection doit correspondre à l'URI de cette page 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;
}

Maintenant que vous êtes authentifié, vous pouvez créer un objet Service avec lequel effectuer des requêtes API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);