Configuração

A biblioteca procura um arquivo de configuração em System.getProperty("user.home") + "/ads.properties". É possível modificar esse caminho e nome do arquivo no momento da execução ao construir 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 Propriedades do Java de pares de chave-valor. As chaves compatíveis variam de acordo com o fluxo de autenticação escolhido.

Chaves compatíveis com fluxos de aplicativos da Web e de computadores

Se você estiver usando o fluxo de aplicativo de computador 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 de 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 de 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 apropriadas, configure GoogleAdsClient chamando fromEnvironment() no builder.

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

Como combinar abordagens de configuração

O GoogleAdsClient e o builder dele 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 usará o valor do arquivo de propriedades para qualquer atributo definido por meio da variável de ambiente e de uma entrada no arquivo de propriedades. Para o comportamento oposto, basta chamar fromPropertiesFile() antes de fromEnvironment().

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

Como reutilizar arquivos de configuração da biblioteca de cliente da API AdWords para Java

Você pode usar o mesmo arquivo ads.properties utilizado na API Google AdWords. Basta copiar as linhas para as seguintes chaves e alterar o prefixo api.adwords em cada chave de api.adwords para api.googleads:

api.adwords.developerToken     --> api.googleads.developerToken
# For desktop or web OAuth credentials:
api.adwords.clientId           --> api.googleads.clientId
api.adwords.clientSecret       --> api.googleads.clientSecret
api.adwords.refreshToken       --> api.googleads.refreshToken
# For service account OAuth credentials:
api.adwords.jsonKeyFilePath    --> api.googleads.serviceAccountSecretsPath
api.adwords.serviceAccountUser --> api.googleads.serviceAccountUser

Se você estiver autenticando como uma conta de administrador, precisará especificar também:

api.googleads.loginCustomerId --> Manager account ID (with hyphens removed).