Configuración

La configuración se administra con la clase Config. Puedes configurar el cliente con un archivo de configuración, especificar valores de forma dinámica en el momento de la creación o cargar valores de las variables de entorno.

Archivo de configuración

Puedes especificar un archivo google_ads_config.rb para usar cuando se crea una instancia del cliente.

Si no pasas ningún argumento cuando creas una instancia de un objeto GoogleAdsClient, la biblioteca busca un archivo de configuración en el siguiente orden:

  1. Es la ruta de acceso especificada en la variable de entorno GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Un archivo llamado google_ads_config.rb en tu directorio HOME (~/google_ads_config.rb).

Como alternativa, puedes pasar una ruta de acceso explícita cuando crees una instancia del objeto GoogleAdsClient:

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')

Para generar este archivo, copia google_ads_config.rb del repositorio de GitHub y modifícalo para incluir tu token de actualización, ID de cliente y secreto del cliente.

Configuración dinámica

Puedes configurar la biblioteca de forma dinámica cuando la instancias:

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... additional configuration
end

También puedes modificar la configuración después de la creación de instancias (lo que anula la configuración cargada durante la inicialización):

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... additional configuration
end

Campos de configuración

El objeto Config admite los siguientes campos.

Campos generales:

  • refresh_token: Es tu token de actualización de OAuth (GOOGLE_ADS_REFRESH_TOKEN).
  • client_id: Tu ID de cliente de OAuth (GOOGLE_ADS_CLIENT_ID).
  • client_secret: Tu secreto del cliente de OAuth (GOOGLE_ADS_CLIENT_SECRET).
  • keyfile: Es la ruta de acceso a un archivo de clave JSON de la cuenta de servicio (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • impersonate: Dirección de correo electrónico para suplantar la identidad cuando se usa una cuenta de servicio con delegación para todo el dominio (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials: Se establece en true para autenticarse con las credenciales predeterminadas de la aplicación (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Se admite en google-ads-googleads v36.1.0 y versiones posteriores.
  • authentication: Objeto de autenticación personalizado, como un Proc (updater_proc), una ruta de acceso a un archivo de claves o Hash, o bien GRPC::Core::Channel/GRPC::Core::ChannelCredentials. Anula client_id, client_secret, refresh_token y keyfile.
  • login_customer_id: Consulta la documentación de login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID).
  • linked_customer_id: Es el ID del cliente vinculado (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant: Es un identificador opcional para el encabezado del asistente de la API de Google Ads (GOOGLE_ADS_ASSISTANT; se agregó como gaada en la versión 37.0.0 y se cambió el nombre a ads_assistant en la versión 39.0.0).
  • http_proxy: URI de proxy HTTP o HTTPS opcional (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • api_endpoint: Anulación opcional del endpoint de API (GOOGLE_ADS_ENDPOINT).
  • treat_deprecation_warnings_as_errors: Genera una excepción en lugar de llamar a Warning#warn cuando se invoca código de biblioteca obsoleto (false de forma predeterminada).
  • warn_on_all_deprecations: Emite una advertencia de baja en cada llamada en lugar de una vez por sitio de llamada (false de forma predeterminada).

Campos de registro (consulta la guía de registro para obtener todos los detalles):

  • log_level: Son los mensajes de nivel de registro mínimo que deseas registrar. Por ejemplo, especificar 'DEBUG' registra todos los mensajes, y especificar 'INFO' excluye los mensajes de DEBUG y muestra todos los demás.
  • log_target: Es el lugar en el que deseas registrarte, como STDERR o una ruta.
  • logger: Especifica tu propio registrador personalizado. Si se especifica este parámetro, se anulan log_level y log_target.

Variables de entorno

Puedes configurar la biblioteca cliente con variables de entorno. No se cargan de forma predeterminada y requieren una llamada explícita después de crear una instancia del cliente para cargarse. Consulta la lista completa de variables de entorno estándar.

Para cargar las variables de entorno en tu Config, llama a load_environment_config:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

Cada vez que se llama a load_environment_config, las variables de entorno definidas reemplazan los valores correspondientes que ya están presentes en Config (las variables de entorno no establecidas dejan sin cambios los valores de configuración existentes). Con este mecanismo, puedes mantener un archivo de configuración predeterminado y anular valores específicos con variables de entorno, o bien configurar el cliente por completo con variables de entorno.

Además de las variables de entorno estándar, la biblioteca de Ruby admite dos variables adicionales:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: Es equivalente a log_level, como se explicó anteriormente.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: Especifica una URL de proxy HTTP.