Ce document concerne Recommendations AI, Retail Search et la nouvelle console Retail. Pour utiliser Retail Search dans la phase en disponibilité limitée, contactez le service commercial Cloud.

Si vous n'utilisez que Recommendations AI, restez dans la console Recommendations AI et consultez la documentation sur Recommendations AI.

Avant de commencer

Cette page décrit les étapes à suivre avant d'utiliser l'API Retail.

Configurer votre projet

Vous devez créer un projet Google Cloud afin d'accéder à l'API Retail. Pour configurer un projet, procédez comme suit :

  1. Accédez à la page Gérer les ressources de Cloud Console.

    Accéder à la page "Gérer les ressources"

  2. Dans la liste déroulante située en haut de la page, sélectionnez l'organisation dans laquelle vous souhaitez créer un projet.

  3. Cliquez sur Créer un projet.

  4. Dans la fenêtre Nouveau projet qui s'affiche, saisissez un nom de projet, puis sélectionnez un compte de facturation si nécessaire.

  5. Si vous souhaitez ajouter le projet à un dossier, saisissez le nom du dossier dans la case Emplacement.

  6. Une fois les détails du nouveau projet renseignés, cliquez sur Créer.

  7. Activez l'API Retail pour votre projet Google Cloud.

    ACTIVER L'API RETAIL

    Cliquez sur le bouton ACTIVER dans Google Cloud Console pour activer l'API.

Configurer l'authentification pour votre application

Vous devez configurer les deux méthodes d'authentification suivantes pour accéder à l'API Retail :

Créer un compte de service

  1. Accédez à la page des Identifiants dans Cloud Console.

  2. Sélectionnez le projet pour lequel vous créez des identifiants (il est peut-être déjà sélectionné).

  3. Cliquez sur Créer des identifiants, puis sélectionnez Clé de compte de service.

  4. Renseignez les champs suivants :

    Champ Valeur
    Compte de service Nouveau compte de service
    Service account name (Nom du compte de service) enter a name for your service account
    Rôle Comptes de service > Créateur de jetons du compte de service
    Retail > Éditeur Retail
    Type de clé JSON
  5. Cliquez sur Créer pour créer le compte de service.

    Le fichier JSON contenant la clé publique/privée du nouveau compte de service est automatiquement téléchargé sur votre ordinateur. Ce fichier JSON constitue la seule copie de la clé associée à votre compte de service. Assurez-vous de le conserver en lieu sûr. Le fichier de clé JSON doit être stocké dans un emplacement accessible depuis votre application (voir your-service-account-json-key-file dans la section S'authentifier à l'aide d'un compte de service (OAuth 2.0)).

Ajouter le compte de service à votre environnement local

Si vous souhaitez appeler l'API du Réseau de Recherche pour le commerce à l'aide de l'outil de ligne de commande cURL, vous devez rendre votre compte de service disponible dans votre environnement local. cURL utilise la commande gcloud auth application-default print-access-token afin d'obtenir un jeton d'accès pour votre compte de service à l'aide du SDK Cloud de Google Cloud Platform (GCP). Pour télécharger et installer le SDK, consultez la page SDK Cloud.

  export GOOGLE_APPLICATION_CREDENTIALS=path-to-service-account-json-key-file

Créer une clé API

  1. Accédez à la page des Identifiants dans Cloud Console.

  2. Dans la liste déroulante de projet en haut de la page Google Cloud Console, sélectionnez votre projet (il est peut-être déjà sélectionné).

  3. Cliquez sur Créer des identifiants, puis sélectionnez Clé API. N'ajoutez aucune restriction de référent. Il est connu que certains paramètres de confidentialité de l'utilisateur ne transmettent pas l'URL de provenance.

    • Prenez note de la clé API générée, que vous utiliserez lors des appels à l'API de journalisation des événements utilisateur.
  4. Pour renforcer la sécurité, ajoutez une restriction HTTP à votre clé API afin de restreindre l'accès au service Retail à l'adresse https://retail.googleapis.com/*.

Exemples

S'authentifier avec un compte de service (OAuth 2.0)

Voici un exemple Java d'authentification OAuth 2.0 utilisant un compte de service. Vous trouverez des instructions plus détaillées dans la documentation de l'authentification. Google dispose de bibliothèques clientes dans 7 langages que vous pouvez utiliser pour mettre en œuvre l'authentification OAuth2 dans votre application. Si vous préférez mettre en œuvre directement HTTP/REST, suivez les instructions d'authentification REST.

Dans l'exemple, remplacez your-service-account-json-key-file par le chemin d'accès au fichier de clé JSON de votre compte de service.

// Simple Java example of using Google Cloud OAuth client library.
//
// Please see here for the list of libraries in different languages:
// https://developers.google.com/identity/protocols/OAuth2#libraries
//
// The following example depends on the google api client library.
//
// Maven:
//    <dependency>
//      <groupId>com.google.api-client</groupId>
//      <artifactId>google-api-client</artifactId>
//      <version>1.22.0</version>
//    </dependency>
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.json.GenericJson;
import com.google.api.client.json.jackson2.JacksonFactory;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class RetailApiSample {
  public static final String CREATE_PRODUCT_URL =
     "https://retail.googleapis.com/v2/projects/[PROJECT_NUMBER]/locations/global/catalogs/default_catalog/branches/0/products";

  public static GoogleCredential authorize() throws Exception {
    return GoogleCredential.fromStream(new FileInputStream("your-service-account-json-key-file"))
        .createScoped(Collections.singleton("https://www.googleapis.com/auth/cloud-platform"))
        .setExpirationTimeMilliseconds(new Long(3600 * 1000));;
  }

  // Build an example product.
  public static GenericJson getProduct() {
    GenericJson categories = new GenericJson()
        .set("categories", Arrays.asList("Electronics > Computers", "Laptops"));
    GenericJson priceInfo = new GenericJson
        .set("currency_code", "USD")
        .set("price", 800.00)
        .set("original_price", 1000.00);

    return new GenericJson()
        .set("name", "projects/[PROJECT_NUMBER]/locations/global/catalogs/default_catalog/branches/0/products/[ProductName]")
        .set("title", "Sample Laptop")
        .set("description", "Indisputably the most fantastic laptop ever created.")
        .set("categories", categories)
        .set("price_info", priceInfo)
        .set("availability", "IN_STOCK")
        .set("available_quantity", 1219);
  }

  public static void main(String[] args) {
    try {
      GoogleCredential credential = RetailApiSample.authorize();

      HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
      HttpRequestFactory requestFactory = httpTransport.createRequestFactory();
      HttpRequest request = requestFactory.buildPostRequest(new GenericUrl(CREATE_PRODUCT_URL),
          new JsonHttpContent(new JacksonFactory(), RetailApiSample.getProduct()));
      credential.initialize(request);
      HttpResponse response = request.execute();
      System.out.println("Response content: " + response.parseAsString());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

S'authentifier à l'aide d'une clé API

Voici un exemple d'authentification à l'aide d'une clé API depuis la ligne de commande à l'aide de la commande curl. Remplacez api-key par la clé API que vous avez créée dans la section précédente.

URL="https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/userEvents:write?key=api-key"

DATA='{
  "user_attributes": {
    ...
  },
  "user_event_detail": {
    ...
  }
}'

echo $URL
curl -H 'Content-Type: application/json' -X POST -d "${DATA}"  $URL

Accéder à la console de gestion Retail

La console Retail vous permet de gérer les ressources Retail et de surveiller son activité à partir de Google Cloud Console, basé sur un navigateur.

Pour obtenir un aperçu de ce que vous pouvez faire dans la console, consultez la page Console d'administration Retail.

Accéder à Retail dans Cloud Console

Étape suivante