In questa pagina vengono descritti i passaggi da eseguire prima di utilizzare Recommendations AI.
Configura il progetto
Devi creare un progetto Google Cloud per accedere a Recommendations AI. Per configurare un progetto, procedi nel seguente modo:
Vai alla pagina Gestisci risorse di Google Cloud Console.
Nel menu a discesa nella parte superiore della pagina, seleziona l'organizzazione in cui vuoi creare un progetto.
Fai clic su Crea progetto.
Nella finestra Nuovo progetto visualizzata, inserisci un nome per il progetto e seleziona un account di fatturazione come appropriato.
Se vuoi aggiungere il progetto a una cartella, inserisci il nome della cartella nella casella Posizione.
Dopo avere inserito i dettagli del nuovo progetto, fai clic su Crea.
Accetta i Termini per l'utilizzo dei dati di Discovery Services
Se hai abilitato Recommendations AI su un progetto Google Cloud prima che i termini di utilizzo dei dati di Discovery Service entrassero in vigore il 4 aprile 2022, devi accettare i termini per continuare a utilizzare Recommendations AI con il progetto in questione.
Per accettare i termini di utilizzo dei dati di Discovery Services per un progetto, completa i seguenti passaggi:
Vai alla dashboard di Recommendations AI:
Fai clic su Vai ai termini nel banner nella parte superiore di Google Cloud Console.
Nella pagina Termini di utilizzo dei dati, leggi i relativi termini e fai clic su Accetta se accetti i termini.
Configurare l'autenticazione per l'applicazione
Per accedere all'API Retail devi configurare entrambi i metodi di autenticazione seguenti:
Account di servizio: le applicazioni utilizzano un account di servizio per autenticare le chiamate a
Product
.Chiave API: le applicazioni utilizzano una chiave API per le chiamate alle API user event logging.
Crea un account di servizio
Vai alla pagina Credenziali di Google Cloud Console.
Seleziona il progetto per cui stai creando le credenziali (il progetto potrebbe essere già selezionato).
Fai clic su Crea credenziali, quindi seleziona Chiave account di servizio.
Compila i seguenti campi:
Campo Valore Account di servizio Nuovo account di servizio Nome account di servizio enter a name for your service account Ruolo Account di servizio > Service Account Token Creator
Recommendations AI > Recommendations AI EditorTipo di chiave JSON Fai clic su Crea per creare l'account di servizio.
Il file JSON contenente la chiave pubblica/privata per il nuovo account di servizio viene scaricato automaticamente sul computer. Questo file JSON è l'unica copia della chiave per il tuo account di servizio. Assicurati di conservarlo in una posizione sicura. Il file della chiave JSON deve essere archiviato in una posizione accessibile dalla tua applicazione (vedi your-service-account-json-key-file in Autenticazione tramite un account di servizio (OAuth 2.0).
Aggiungi l'account di servizio al tuo ambiente locale
Se vuoi effettuare chiamate all'API Retail utilizzando lo strumento a riga di comando cURL
, devi rendere disponibile il tuo account di servizio nel tuo ambiente locale. cURL
utilizza il comando
gcloud auth application-default print-access-token
per ottenere un token di accesso per il tuo account di servizio
tramite Google Cloud Cloud SDK. Per scaricare e installare l'SDK, consulta la sezione Cloud SDK. Se utilizzi Cloud Shell, l'SDK è già installato.
La variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
non continuerà a esistere se chiudi la finestra di comando. Per assicurarti che la variabile sia impostata sul percorso del file dell'account di servizio quando apri una nuova finestra di comando, imposta il valore in uno script shell di inizializzazione.
export GOOGLE_APPLICATION_CREDENTIALS=path-to-service-account-json-key-file
Crea una chiave API
Vai alla pagina Credenziali di Google Cloud Console.
Nel menu a discesa del progetto nella parte superiore della pagina di Google Cloud Console, seleziona il progetto in modo da selezionarlo già.
Fai clic su Crea credenziali e seleziona Chiave API. Non aggiungere restrizioni per i referrer. Alcune impostazioni sulla privacy dell'utente sono note per non passare l'URL del referrer.
- Prendi nota della chiave API generata, che utilizzerai per chiamare il logging degli eventi utente.
Per maggiore sicurezza, aggiungi una limitazione HTTP alla tua chiave API per limitare l'accesso al servizio Retail all'indirizzo
https://retail.googleapis.com/*
.
Esempi
Autenticazione con un account di servizio (OAuth 2.0)
Ecco un esempio in Java di autenticazione OAuth 2.0 tramite account di servizio. Istruzioni più dettagliate sono disponibili nella documentazione sull'autenticazione. Google offre librerie client in 7 lingue che puoi utilizzare per implementare l'autenticazione OAuth2 nella tua applicazione. Se preferisci implementare direttamente il protocollo HTTP/REST, segui le istruzioni per l'autenticazione REST.
Nell'esempio, sostituisci your-service-account-json-key-file con il percorso del file della chiave JSON dell'account di servizio.
// 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(); } } }