La configurazione viene eseguita utilizzando una classe Config. Puoi accedere a questa classe in diversi modi, ad esempio scrivendo un file di configurazione, specificando i valori 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 utilizzi argomenti quando crei un'istanza di un oggetto GoogleAdsClient, la libreria cercherà il file nel percorso specificato 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 quando crei un'istanza dell'oggetto GoogleAdsClient come segue, nel qual caso il client cercherà il file in quel percorso.
client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")
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 configurare dinamicamente la libreria quando crei un'istanza o anche in un secondo momento:
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE' # ... more configuration
end
Puoi persino modificare la configurazione dopo la creazione dell'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 token di aggiornamento OAuth.client_id: l'ID client OAuth.client_secret: il client secret OAuth.login_customer_id: consulta la documentazione relativa a login-customer-id.
Campi di logging. Per informazioni complete, consulta la guida al logging.
log_level: i messaggi di livello di log minimo che vuoi registrare. Ad esempio, se specifichi'DEBUG', vedrai tutti i messaggi di log, mentre se specifichi'INFO', i messaggi di DEBUG verranno esclusi, ma verranno visualizzati tutti gli altri messaggi.log_target: la destinazione in cui vuoi scrivere i log, ad esempioSTDERR.logger: specifica il tuo logger personalizzato. Se specifichi questo valore,log_levelelog_targetverranno sostituiti.
Variabili di ambiente
Puoi configurare la libreria client utilizzando le variabili di ambiente. Non vengono caricate per impostazione predefinita e richiedono una chiamata aggiuntiva dopo la creazione dell'istanza del client per essere caricate. 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 chiamata, lo stato attuale delle variabili di ambiente sovrascriverà qualsiasi elemento già presente in Config. Con questo meccanismo, puoi ad esempio avere una configurazione predefinita, ma sostituire valori specifici utilizzando le variabili di ambiente oppure puoi configurare completamente le 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:log_levelcome spiegato in precedenza.GOOGLE_ADS_RUBY_HTTP_PROXY: specifica un proxy HTTP.