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 entorno de ejecución cuando construyas el GoogleAdsClient con cualquiera de los siguientes mecanismos:

  • Llama a fromPropertiesFile(PATH_TO_CONFIG_FILE), en el que PATH_TO_CONFIG_FILE es la ruta de acceso y el nombre de archivo de tu archivo de configuración.
  • Configura la variable de entorno GOOGLE_ADS_CONFIGURATION_FILE_PATH con la ruta de acceso 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 aplicación para computadoras de escritorio o Web, las claves compatibles 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 las cuentas de servicio

Si usas el flujo de la cuenta de servicio, las claves compatibles 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 es compatible con 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 adecuadas, configura tu GoogleAdsClient llamando a fromEnvironment() en el compilador.

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

Cómo combinar 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 mediante 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 mediante su variable de entorno y una entrada en el archivo de propiedades. Para realizar el comportamiento contrario, 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().

Cómo volver a utilizar los archivos de configuración de la biblioteca cliente de la API de AdWords para Java

Puedes usar el mismo archivo ads.properties que usaste para la API de AdWords. Simplemente copia las líneas de las siguientes claves y cambia el prefijo api.adwords en cada clave de api.adwords a 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

Si te autenticas como cuenta de administrador, también debes especificar lo siguiente:

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