A biblioteca procura um arquivo de configuração em
System.getProperty("user.home") + "/ads.properties"
. É possível substituir esse
caminho e nome de arquivo no momento da execução ao construir o GoogleAdsClient
usando
um dos seguintes mecanismos:
- Chame
fromPropertiesFile(PATH_TO_CONFIG_FILE)
, em quePATH_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, chamefromPropertiesFile()
.
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 para computadores
Se você estiver usando o fluxo de aplicativo da área de trabalho ou da 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
Ela é compatível com todas as variáveis de ambiente comuns a todas as bibliotecas de cliente da Google Ads API. 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 apropriadas, configure o GoogleAdsClient
chamando fromEnvironment()
no builder.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
Como combinar abordagens de configuração
O GoogleAdsClient
e o builder dele permitem combinar diferentes estratégias
de configuração. Por exemplo, você pode 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 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()
.
Você pode fazer outras mudanças no momento da execução usando os outros métodos de configuração
do builder antes de chamar build()
.
Reutilizar arquivos de configuração da biblioteca de cliente da API AdWords para Java
Você pode usar o mesmo arquivo ads.properties
da API AdWords. Copie
as linhas das chaves a seguir e altere 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 conta de administrador, precisará também especificar:
api.googleads.loginCustomerId --> Manager account ID (with hyphens removed).