A biblioteca de cliente Java procura um arquivo de configuração chamado ads.properties no
diretório principal (System.getProperty("user.home") + "/ads.properties" ou
~/ads.properties). É possível substituir esse caminho e nome de arquivo no tempo de execução ao
construir o GoogleAdsClient usando um dos seguintes mecanismos:
- Chame
fromPropertiesFile(PATH_TO_CONFIG_FILE), em quePATH_TO_CONFIG_FILEé o caminhoFilee o nome do arquivo de configuração. - Defina a variável de ambiente
GOOGLE_ADS_CONFIGURATION_FILE_PATHcom o caminho e o nome do arquivo de configuração e chamefromPropertiesFile().
O formato do arquivo de configuração é um arquivo Properties padrão do Java de pares de chave-valor. As chaves compatíveis variam de acordo com o fluxo de autenticação escolhido.
Chaves aceitas para fluxos de aplicativos da Web e para computador
Se você estiver usando o fluxo de aplicativo para um único usuário ou multiusuário, 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
# 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
Chaves compatíveis para contas de serviço
Se você estiver usando o fluxo de conta de serviço, as chaves compatíveis sã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
# 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
Usar variáveis de ambiente
A biblioteca é compatível com todas as variáveis de ambiente padrão da biblioteca de cliente da API Google Ads. A tabela a seguir 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.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 |
api.googleads.developerToken (opcional em v46.0.0 e versões mais recentes) |
GOOGLE_ADS_DEVELOPER_TOKEN |
Depois de definir as variáveis de ambiente adequadas, configure seu
GoogleAdsClient chamando fromEnvironment() no builder:
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
Combinar abordagens de configuração
O GoogleAdsClient e o builder dele oferecem suporte à 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();
É possível fazer outras mudanças em tempo de execução usando os outros métodos de configuração do builder antes de chamar build().
Descontinuação do token de desenvolvedor
Após o fim do ciclo de vida do token de desenvolvedor em 9 de setembro de 2026, os níveis de acesso à API serão determinados pelo seu projeto do Google Cloud no servidor da API, e não por um token de desenvolvedor:
- Mudanças na configuração: não é mais necessário especificar
api.googleads.developerTokenemads.propertiesouGOOGLE_ADS_DEVELOPER_TOKENnas variáveis de ambiente. Os aplicativos que ainda especificamapi.googleads.developerTokencontinuam funcionando porque os servidores de API ignoram o cabeçalhodeveloper-token, embora uma futura versão principal da API Google Ads o rejeite. - Requisitos de versão da biblioteca de cliente: para omitir o token de desenvolvedor
da sua configuração, use
google-ads-javav46.0.0ou uma versão mais recente, que removeu a validação do lado do cliente que exigia um token de desenvolvedor. - Mudanças no erro de autorização: se um projeto do Google Cloud com acesso somente de teste chamar uma conta de produção do Google Ads, a
v25e versões mais recentes da API Google Ads vão retornarAuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION, enquanto av24e versões anteriores vão retornarAuthorizationError.ACTION_NOT_PERMITTED.