Configurazione

La configurazione viene eseguita utilizzando una classe Config. Puoi accedere a questa classe in più modi, ad esempio scrivendo un file di configurazione, specificando valori al momento della creazione o caricando valori dalle variabili di ambiente.

File di configurazione

Puoi specificare un file google_ads_config.rb da utilizzare per creare l'istanza del client.

Se non utilizzi argomenti durante la creazione dell'istanza:

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

la libreria verrà cercata nella posizione specificata nella variabile di ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH. Se questa variabile non è impostata, la libreria cercherà il file nella directory HOME.

In alternativa, puoi specificare un percorso:

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

In questo caso il client cercherà il file in quel percorso file.

Il modo più semplice per generare questo file è copiare google_ads_config.rb dal repository GitHub e modificarlo in modo da includere il token di aggiornamento, l'ID client e il client secret.

Configurazione dinamica

Puoi impostare la configurazione in modo dinamico quando crei un'istanza della libreria o anche in seguito:

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

Puoi anche modificare la configurazione dopo la creazione di un'istanza:

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

Campi di configurazione

L'oggetto Config supporta i seguenti campi.

Campi generali:

  • refresh_token: il tuo token di aggiornamento OAuth.
  • client_id: il tuo ID client OAuth.
  • client_secret: il tuo client secret OAuth.
  • developer_token: il token sviluppatore per accedere all'API.
  • login_customer_id: consulta la documentazione di login-customer-id.

Campi di registrazione. Consulta la guida alla registrazione per i dettagli completi.

  • log_level: il numero minimo di messaggi a livello di log che vuoi registrare. Ad esempio, specificando 'DEBUG' potrai visualizzare tutti i messaggi di log, mentre specificando 'INFO', verranno esclusi i messaggi DEBUG, ma verranno mostrati tutti gli altri messaggi.
  • log_target: la destinazione a cui vuoi accedere, ad esempio STDERR.
  • logger: specifica il tuo logger personalizzato. Se specifichi questa opzione, verranno sostituiti 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 un'ulteriore chiamata dopo aver creato un'istanza del client per essere caricati. Consulta l'elenco completo delle variabili di ambiente supportate da tutte le lingue.

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 richiamata, lo stato attuale delle variabili di ambiente sovrascriverà tutto ciò che è già presente in Config. Con questo meccanismo, ad esempio, puoi avere una configurazione predefinita, ma sostituire valori specifici utilizzando variabili di ambiente. In alternativa, puoi eseguire la configurazione completa con variabili di ambiente.

Oltre alle variabili di ambiente supportate da tutte le librerie, la libreria Ruby ha due variabili aggiuntive:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: come log_level sopra.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: specifica un proxy HTTP.