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 crei un'istanza del client.

Se non passi argomenti durante la creazione di un'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 durante la creazione dell'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 da includere il token di aggiornamento, l'ID client e il client secret.

Configurazione dinamica

Puoi impostare la configurazione in modo dinamico durante la creazione di un'istanza della libreria:

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'inizializzazione (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 tuo 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: il percorso di un file della chiave JSON del service account (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • impersonate: l'indirizzo email da impersonare quando utilizzi un service account con delega a livello di dominio (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials: imposta su true per eseguire l'autenticazione utilizzando le 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 della chiave o Hash, oppure GRPC::Core::Channel/ GRPC::Core::ChannelCredentials. Esegue l'override di client_id, client_secret, refresh_token e keyfile.
  • login_customer_id: consulta la documentazione relativa a 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 deprecato (false per impostazione predefinita).
  • warn_on_all_deprecations: genera un avviso di ritiro a ogni chiamata anziché una volta per ogni sito di chiamata (false per impostazione predefinita).

Campi di log (per i dettagli completi, consulta la guida al logging):

  • log_level: il livello minimo di log dei messaggi che vuoi registrare. Ad esempio, se specifichi 'DEBUG', vengono registrati tutti i messaggi, mentre se specifichi 'INFO', vengono esclusi i messaggi DEBUG e vengono mostrati tutti gli altri messaggi.
  • log_target: la posizione in cui vuoi eseguire il logging, ad esempio STDERR o un percorso.
  • logger: specifica il tuo logger personalizzato. Se specifichi questa opzione, esegui l'override di log_level e 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 la creazione dell'istanza del client per essere caricati. Consulta l'elenco completo delle variabili di ambiente standard.

Per caricare le variabili di ambiente nel tuo 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 e sostituire valori specifici utilizzando le variabili di ambiente oppure configurare completamente il client con le variabili di ambiente.

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

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