Utiliser les Service Accounts OAuth 2.0 avec Content API for Shopping

Les Service Accounts sont des comptes Google spéciaux au moyen desquels les applications peuvent accéder par programmation aux API Google via OAuth 2.0. Un Service Account emploie un flux OAuth 2.0 qui ne nécessite aucune autorisation humaine. En revanche, il utilise un fichier de clé auquel seule votre application a accès. Ce guide explique comment accéder à Content API for Shopping à l'aide de Service Accounts.

Remarque : Les applications qui utilisent des Service Accounts pour l'authentification ne peuvent accéder qu'à votre compte Merchant Center. Si vous écrivez une application tierce qui doit accéder aux comptes Merchant Center de vos clients, consultez plutôt le guide Autoriser les requêtes.

Condition préalable

Procédure d'utilisation d'un Service Account pour accéder à Content API for Shopping

  1. Générez des identifiants de Service Account ou accédez aux identifiants publics que vous avez déjà générés. Vous devez créer un ID client OAuth 2.0 et obtenir un fichier de clé privée *.json :
    1. Accédez à la console Google API.
    2. Sélectionnez un projet dans le menu déroulant en haut de la page. Si vous n'en avez pas encore, créez-en un en cliquant sur Créer un projet.
    3. Si vous n'avez pas déjà activé Content API pour Shopping, recherchez-la dans la liste des API Google et activez-la.
    4. Dans la barre latérale située à gauche, sélectionnez Identifiants. Vous devrez peut-être cliquer sur la flèche vers la gauche dans l'angle supérieur gauche pour voir cette option.
    5. Pour configurer un Service Account, sélectionnez Créer des identifiants, puis Clé de Service Account.
      Capture d'écran illustrant la création des identifiants du Service Account.
    6. Sur la page suivante, sélectionnez Nouveau Service Account dans la liste déroulante.
    7. Attribuez un nom au nouveau Service Account. Il servira également de nom d'utilisateur par défaut pour l'ID de Service Account. Mémorisez ce dernier, y compris la partie située après le caractère "@", car vous en aurez besoin par la suite.

      Le choix du rôle pour le Service Account n'a aucune incidence sur les appels pouvant être effectués auprès de Content API. En effet, l'accès aux méthodes de Content API est déterminé par le rôle associé à l'ID de Service Account dans Merchant Center. Si vous ne savez pas quoi choisir, sélectionnez simplement Projet ► Lecteur.

      Capture d'écran illustrant l'attribution du nom du nouveau Service Account.
    8. Sélectionnez JSON pour le type de clé, puis cliquez sur Créer.
    9. Le bouton Créer devient Création. Une fois la génération de clé terminée, la clé privée est automatiquement téléchargée en tant que fichier *.json.

      Important : Protégez le fichier de clé *.json qui permet à un Service Account d'accéder aux services Google pour lesquels il a été autorisé. Nous recommandons d'accorder à chaque Service Account l'accès à une seule API Google. Cette mesure préventive vise à limiter la quantité de données auxquelles une personne malveillante pourrait accéder si le fichier de clé *.json du Service Account était piraté.

    10. Vous êtes redirigé vers la page "Identifiants". Vous devriez voir le nouveau Service Account dans la liste des clés de Service Account pour votre compte.
  2. Ajoutez le nouveau Service Account en tant qu'utilisateur à votre compte Merchant Center. Si vous êtes un développeur tiers, vous devez demander à votre client d'effectuer cette étape pour vous.
    1. Accédez à votre compte Merchant Center.
    2. Accédez à la liste "Utilisateurs" dans les paramètres du compte Merchant Center.
    3. Cliquez sur le bouton +, puis utilisez l'ID de Service Account comme adresse e-mail du nouvel utilisateur.

      Si vous n'avez pas noté l'ID de Service Account précédemment, accédez à la page d'administration Service Accounts et sélectionnez le projet que vous avez créé.

    4. Configurez l'accès des utilisateurs et les notifications par e-mail. Sachez que l'utilisation du service Accounts nécessite un accès administrateur.Capture d'écran de la page d'ajout d'un utilisateur du Service Account.
    5. Cliquez sur la case bleue située à gauche de l'option "Annuler". Vous êtes redirigé vers la liste des utilisateurs. L'ID de Service Account devrait être répertorié avec les rôles utilisateur choisis.
    6. Répétez la procédure pour tous les autres Service Accounts que vous souhaitez ajouter.
    7. Affichez les utilisateurs de Service Account existants en accédant à l'onglet "Utilisateurs". L'adresse e-mail de ces utilisateurs se termine par "gserviceaccount.com".
  3. Vous pouvez désormais accéder à votre compte Merchant Center à l'aide du Service Account via le flux Identifiants par défaut de l'application Google ou en utilisant directement le flux de Service Account. Les exemples de Content API for Shopping montrent comment utiliser ces deux flux pour les identifiants de Service Account dans chaque langage de programmation compatible. Consultez les exemples de code afin d'essayer votre nouveau Service Account et de découvrir les modifications que vous devez appliquer pour utiliser les Service Accounts dans votre propre code.

Questions fréquentes

Puis-je me connecter à l'interface utilisateur Web de Merchant Center avec mon Service Account ?

Non, les Service Accounts ne sont pas des comptes Google standards. Ils ne peuvent pas accéder à l'interface utilisateur Web de Merchant Center.

À quelle fréquence dois-je actualiser les jetons d'accès du Service Account ?

Les jetons d'accès arrivent à expiration une heure après leur émission par le serveur d'autorisation Google OAuth 2.0. Lorsqu'un jeton d'accès arrive à expiration, l'application doit récupérer un autre jeton d'accès via la bibliothèque cliente.