La biblioteca busca un archivo de configuración en
System.getProperty("user.home") + "/ads.properties". Puedes anular esta ruta de acceso y nombre de archivo en el tiempo de ejecución cuando construyas GoogleAdsClient con cualquiera de los siguientes mecanismos:
- Llama a
fromPropertiesFile(PATH_TO_CONFIG_FILE), dondePATH_TO_CONFIG_FILEes la ruta de acceso y el nombre de archivo de tu archivo de configuración. - Establece la variable de entorno
GOOGLE_ADS_CONFIGURATION_FILE_PATHen la ruta de acceso y el nombre de archivo de tu archivo de configuración y, luego, llama afromPropertiesFile().
El formato del archivo de configuración es el de un archivo de propiedades de Java Properties de pares clave-valor. Las claves admitidas varían según el flujo de autenticación elegido.
Claves admitidas para flujos de aplicaciones web y de escritorio
Si usas el flujo de aplicaciones de un solo usuario o de multiusuario, las claves admitidas son las siguientes:
# 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
# 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
Claves admitidas para cuentas de servicio
Si usas el flujo de cuentas de servicio, las claves admitidas son las siguientes:
# 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
Usa variables de entorno
La biblioteca admite todas las variables de entorno comunes a todas las bibliotecas cliente de la API de Google Ads. En la siguiente tabla, se muestra la variable de entorno que corresponde a cada propiedad del archivo de configuración.
| Propiedad del archivo de configuración | Variable de entorno |
|---|---|
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 |
api.googleads.maxInboundMessageBytes |
GOOGLE_ADS_MAX_INBOUND_MESSAGE_BYTES |
api.googleads.useApplicationDefaultCredentials |
GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS |
Una vez que hayas establecido las variables de entorno adecuadas, configura tu GoogleAdsClient llamando a fromEnvironment() en el compilador.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
Combina enfoques de configuración
GoogleAdsClient y su compilador admiten la combinación de diferentes estrategias de configuración. Por ejemplo, puedes usar variables de entorno para configurar las credenciales de la instancia y un archivo de propiedades para otros atributos con el siguiente fragmento.
GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
En este ejemplo, la biblioteca cliente usará el valor del archivo de propiedades para cualquier atributo que se defina a través de su variable de entorno y una entrada en el archivo de propiedades. Para el comportamiento opuesto, simplemente llama a fromPropertiesFile() antes de fromEnvironment().
Puedes realizar más cambios en el tiempo de ejecución con los otros métodos de configuración del compilador antes de llamar a build().