Configurazione

La libreria client Java cerca un file di configurazione denominato ads.properties nella tua home directory (System.getProperty("user.home") + "/ads.properties" o ~/ads.properties). Puoi sostituire questo percorso e nome file in fase di runtime durante la creazione di GoogleAdsClient utilizzando uno dei seguenti meccanismi:

  • Chiama fromPropertiesFile(PATH_TO_CONFIG_FILE), dove PATH_TO_CONFIG_FILE è il percorso e il nome file del file di configurazione File.
  • Imposta la variabile di ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH sul percorso e sul nome file del file di configurazione, quindi chiama fromPropertiesFile().

Il formato del file di configurazione è un file Properties Java standard di coppie chiave-valore. Le chiavi supportate variano a seconda del flusso di autenticazione scelto.

Chiavi supportate per i flussi di applicazioni web e desktop

Se utilizzi il flusso dell'applicazione per un singolo utente o multiutente, le chiavi supportate sono le seguenti:

# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientId=INSERT_CLIENT_ID_HERE

# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE

# Renewable OAuth credential associated with 1 or more Google Ads accounts.
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE

# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

# Only required if explicitly instructed by the service documentation.
# api.googleads.linkedCustomerId=INSERT_LINKED_CUSTOMER_ID_HERE

# Maximum allowed response payload size, in bytes.
# Customize this to allow response sizes for GoogleAdsService.search and
# GoogleAdsService.searchStream API calls to exceed the default limit of 64MB.
# api.googleads.maxInboundMessageBytes=INSERT_MAX_INBOUND_MESSAGE_BYTES_HERE

# Specifies whether to use Application Default Credentials.
api.googleads.useApplicationDefaultCredentials=false

Chiavi supportate per i service account

Se utilizzi il flusso service account, le chiavi supportate sono le seguenti:

# Path to the service account secrets file in JSON format.
# Provided by console.cloud.google.com.
api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE

# Optional: Email address of the user to impersonate when using Google Workspace
# domain-wide delegation. This should be a user who has access to your Google Ads
# account and is in the same Google Workspace domain as the service account.
# api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE

# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

Utilizzare le variabili di ambiente

La libreria supporta tutte le variabili di ambiente standard della libreria client dell'API Google Ads. La tabella seguente mostra la variabile di ambiente corrispondente a ogni proprietà del file di configurazione:

Proprietà del file di configurazione Variabile di ambiente
api.googleads.clientId GOOGLE_ADS_CLIENT_ID
api.googleads.clientSecret GOOGLE_ADS_CLIENT_SECRET
api.googleads.refreshToken GOOGLE_ADS_REFRESH_TOKEN
api.googleads.serviceAccountSecretsPath GOOGLE_ADS_JSON_KEY_FILE_PATH
api.googleads.serviceAccountUser GOOGLE_ADS_IMPERSONATED_EMAIL
api.googleads.loginCustomerId GOOGLE_ADS_LOGIN_CUSTOMER_ID
api.googleads.linkedCustomerId GOOGLE_ADS_LINKED_CUSTOMER_ID
api.googleads.maxInboundMessageBytes GOOGLE_ADS_MAX_INBOUND_MESSAGE_BYTES
api.googleads.useApplicationDefaultCredentials GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS

Dopo aver impostato le variabili di ambiente appropriate, configura GoogleAdsClient chiamando fromEnvironment() sul builder:

GoogleAdsClient googleAdsClient =
    GoogleAdsClient.newBuilder()
        .fromEnvironment()
        .build();

Combinare gli approcci di configurazione

GoogleAdsClient e il relativo builder supportano la combinazione di diverse strategie di configurazione. Ad esempio, puoi utilizzare le variabili di ambiente per configurare le credenziali dell'istanza e un file di proprietà per altri attributi utilizzando il seguente snippet:

GoogleAdsClient googleAdsClient =
    GoogleAdsClient.newBuilder()
        .fromEnvironment()
        .fromPropertiesFile()
        .build();

Puoi apportare ulteriori modifiche in fase di runtime utilizzando gli altri metodi di configurazione del builder prima di chiamare build().