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 quando crei 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 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 da includere il token di aggiornamento, l'ID client e il client secret.

Configurazione dinamica

Puoi configurare dinamicamente la configurazione quando crei 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 la creazione dell'istanza (che sostituisce le 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: l'ID client OAuth (GOOGLE_ADS_CLIENT_ID).
  • client_secret: il client secret OAuth (GOOGLE_ADS_CLIENT_SECRET).
  • keyfile: il percorso di un file di chiavi 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: 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 di chiavi o Hash oppure GRPC::Core::Channel / GRPC::Core::ChannelCredentials. Sostituisce client_id, client_secret, refresh_token e keyfile.
  • login_customer_id: consulta la documentazione sull'ID cliente di accesso (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 dell'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 informazioni dettagliate, consulta la guida alla registrazione):

  • log_level: il livello di log minimo dei messaggi che vuoi registrare. Ad esempio, se specifichi 'DEBUG', vengono registrati tutti i messaggi, mentre se specifichi 'INFO', i messaggi DEBUG vengono esclusi e vengono visualizzati tutti gli altri messaggi.
  • log_target: la destinazione in cui vuoi registrare i log, ad esempio STDERR o un percorso.
  • logger: specifica il tuo logger personalizzato. Se specifichi questo valore, vengono sostituiti sia log_level che log_target.

Variabili di ambiente

Puoi configurare la libreria client utilizzando le variabili di ambiente. Non vengono caricate per impostazione predefinita e richiedono una chiamata esplicita dopo la creazione dell'istanza del client per essere caricate. 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 chiamata 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 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.