Configurazione

La configurazione viene gestita utilizzando la classe Config. Puoi configurare il client utilizzando un file di configurazione, specificando i valori in modo dinamico al momento della creazione o caricando i valori dalle variabili di ambiente.

File di configurazione

Puoi specificare un file google_ads_config.rb da utilizzare quando istanzia il client.

Se non passi argomenti durante l'istanza di un oggetto GoogleAdsClient, la libreria cerca un file di configurazione nel seguente ordine:

  1. Il percorso specificato nella variabile di ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Un file denominato google_ads_config.rb nella directory HOME (~/google_ads_config.rb).

In alternativa, puoi passare un percorso esplicito quando crei un'istanza dell'oggetto GoogleAdsClient:

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

Per generare questo file, copia google_ads_config.rb dal repository GitHub e modificalo in modo che includa il token di aggiornamento, l'ID client e il client secret.

Configurazione dinamica

Puoi configurare la libreria in modo dinamico durante l'istanza:

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

Puoi anche modificare la configurazione dopo l'istanza (che esegue l'override delle impostazioni caricate durante l'inizializzazione):

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

Campi di configurazione

L'oggetto Config supporta i seguenti campi.

Campi generali:

  • refresh_token: il token di aggiornamento OAuth (GOOGLE_ADS_REFRESH_TOKEN).
  • client_id: il tuo ID client OAuth (GOOGLE_ADS_CLIENT_ID).
  • client_secret: il client secret OAuth (GOOGLE_ADS_CLIENT_SECRET).
  • keyfile: percorso di un file di chiave JSON del service account (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • impersonate: l'indirizzo email da rappresentare quando utilizzi un service account con delega a livello di dominio (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials: impostato su true per l'autenticazione tramite credenziali predefinite dell'applicazione (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Supportato in google-ads-googleads v36.1.0 e versioni successive.
  • authentication: oggetto di autenticazione personalizzato, ad esempio un Proc (updater_proc), un percorso del file di chiavi o Hash oppure GRPC::Core::Channel/GRPC::Core::ChannelCredentials. Override client_id, client_secret, refresh_token e keyfile.
  • login_customer_id: consulta la documentazione login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID).
  • linked_customer_id: l'ID cliente collegato (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant: identificatore facoltativo per l'intestazione dell'assistente API Google Ads (GOOGLE_ADS_ASSISTANT; aggiunto come gaada nella versione 37.0.0 e rinominato in ads_assistant nella versione 39.0.0).
  • http_proxy: URI proxy HTTP o HTTPS facoltativo (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • api_endpoint: Override facoltativo dell'endpoint API (GOOGLE_ADS_ENDPOINT).
  • treat_deprecation_warnings_as_errors: genera un'eccezione anziché chiamare Warning#warn quando viene richiamato il codice della libreria deprecata (false per impostazione predefinita).
  • warn_on_all_deprecations: mostra un avviso di ritiro a ogni chiamata anziché una volta per sito di chiamata (false per impostazione predefinita).

Campi dei log (per informazioni dettagliate, consulta la guida al logging):

  • log_level: i messaggi di livello di log minimo che vuoi registrare. Ad esempio, se specifichi 'DEBUG', vengono registrati tutti i messaggi, mentre se specifichi 'INFO' vengono esclusi i messaggi DEBUG e vengono visualizzati tutti gli altri messaggi.
  • log_target: la posizione in cui vuoi registrare, ad esempio STDERR o un percorso.
  • logger: specifica il tuo logger personalizzato. Se specifichi questa opzione, viene eseguito l'override sia di log_level che di log_target.

Variabili di ambiente

Puoi configurare la libreria client utilizzando le variabili di ambiente. Non vengono caricati per impostazione predefinita e richiedono una chiamata esplicita dopo l'istanza del client per essere caricati. Consulta l'elenco completo delle variabili di ambiente standard.

Per caricare le variabili di ambiente in Config, chiama load_environment_config:

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

Ogni volta che viene chiamato load_environment_config, le variabili di ambiente definite sovrascrivono i valori corrispondenti già presenti in Config (le variabili di ambiente non impostate lasciano invariati i valori di configurazione esistenti). Con questo meccanismo, puoi mantenere un file di configurazione predefinito ed eseguire l'override di valori specifici utilizzando le variabili di ambiente oppure configurare il client interamente con le variabili di ambiente.

Oltre alle variabili di ambiente standard, la libreria Ruby supporta due variabili aggiuntive:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: equivalente a log_level come spiegato in precedenza.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: specifica un URL proxy HTTP.