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:
- Il percorso specificato nella variabile di ambiente
GOOGLE_ADS_CONFIGURATION_FILE_PATH. - Un file denominato
google_ads_config.rbnella directoryHOME(~/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 sutrueper eseguire l'autenticazione utilizzando le credenziali predefinite dell'applicazione (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Supportato ingoogle-ads-googleadsv36.1.0 e versioni successive.authentication: oggetto di autenticazione personalizzato, ad esempio unProc(updater_proc), un percorso del file della chiave oHash, oppureGRPC::Core::Channel/GRPC::Core::ChannelCredentials. Esegue l'override diclient_id,client_secret,refresh_tokenekeyfile.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 comegaadanella versione 37.0.0 e rinominato inads_assistantnella 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é chiamareWarning#warnquando viene richiamato il codice della libreria deprecato (falseper impostazione predefinita).warn_on_all_deprecations: genera un avviso di ritiro a ogni chiamata anziché una volta per ogni sito di chiamata (falseper 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 messaggiDEBUGe vengono mostrati tutti gli altri messaggi.log_target: la posizione in cui vuoi eseguire il logging, ad esempioSTDERRo un percorso.logger: specifica il tuo logger personalizzato. Se specifichi questa opzione, esegui l'override dilog_levelelog_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 alog_level, come spiegato in precedenza.GOOGLE_ADS_RUBY_HTTP_PROXY: specifica un URL proxy HTTP.