Configuração

A biblioteca procura um arquivo de configuração em System.getProperty("user.home") + "/ads.properties". É possível modificar esse caminho e esse nome de arquivo no momento da execução ao criar o GoogleAdsClient usando um dos seguintes mecanismos:

  • Chame fromPropertiesFile(PATH_TO_CONFIG_FILE), em que PATH_TO_CONFIG_FILE é o caminho e o nome do arquivo de configuração.
  • Defina a variável de ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH como o caminho e o nome do arquivo de configuração e, em seguida, chame fromPropertiesFile().

O formato do arquivo de configuração é o de um arquivo Properties (em inglês) Java de pares de chave-valor. As chaves compatíveis variam de acordo com o fluxo de autenticação escolhido.

Chaves compatíveis para fluxos de aplicativos da Web e de computador

Se você estiver usando o fluxo de aplicativo para computadores ou Web, as chaves compatíveis serão as seguintes:

# 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

# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_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

Chaves compatíveis com contas de serviço

Se você estiver usando o fluxo da conta de serviço, as chaves compatíveis serão as seguintes:

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

# Email address of the user to impersonate.
# This should be a user who has access to your Google Ads account and is in the same
# Google Apps Domain as the service account.
api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE

# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_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

Como usar as variáveis de ambiente

A biblioteca é compatível com todas as variáveis de ambiente comuns a todas as bibliotecas de cliente da API Google Ads. A tabela abaixo mostra a variável de ambiente que corresponde a cada propriedade do arquivo de configuração.

Propriedade do arquivo de configuração Variável de ambiente
api.googleads.developerToken GOOGLE_ADS_DEVELOPER_TOKEN
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

Depois de definir as variáveis de ambiente adequadas, configure o GoogleAdsClient chamando fromEnvironment() no builder.

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

Combinar abordagens de configuração

A GoogleAdsClient e o builder dela são compatíveis com a combinação de diferentes estratégias de configuração. Por exemplo, é possível usar variáveis de ambiente para configurar as credenciais da instância e um arquivo de propriedades para outros atributos usando o snippet a seguir.

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

Neste exemplo, a biblioteca de cliente vai usar o valor do arquivo de propriedades para qualquer atributo definido pela variável de ambiente e por uma entrada no arquivo de propriedades. Para o comportamento oposto, basta chamar fromPropertiesFile() antes de fromEnvironment().

É possível fazer outras alterações no momento da execução usando os outros métodos de configuração do builder antes de chamar build().