Configuración

La biblioteca busca un archivo de configuración en System.getProperty("user.home") + "/ads.properties". Puedes anular esta ruta de acceso y el nombre de archivo en el tiempo de ejecución cuando construyas el GoogleAdsClient con cualquiera de los siguientes mecanismos:

  • Llama a fromPropertiesFile(PATH_TO_CONFIG_FILE), en la que PATH_TO_CONFIG_FILE es la ruta de acceso y el nombre de tu archivo de configuración.
  • Establece la variable de entorno GOOGLE_ADS_CONFIGURATION_FILE_PATH en la ruta y el nombre de archivo de tu archivo de configuración y, luego, llama a fromPropertiesFile().

El formato del archivo de configuración es el de un archivo Properties de Java 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 para computadoras de escritorio o web, 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

Claves admitidas para cuentas de servicio

Si usas el flujo de la cuenta 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

Una vez que hayas establecido las variables de entorno apropiadas, 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, con el siguiente fragmento, puedes usar variables de entorno para configurar las credenciales de la instancia y un archivo de propiedades para otros atributos.

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

En este ejemplo, la biblioteca cliente utilizará el valor del archivo de propiedades para cualquier atributo que se defina mediante 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 durante el tiempo de ejecución con los otros métodos de configuración del compilador antes de llamar a build().