Google fornisce una libreria client Ruby per interagire con l'API Ad Manager. Ti consigliamo di utilizzare la libreria client con RubyGems.
Per iniziare, crea un nuovo progetto nell'IDE che preferisci o aggiungi la dipendenza a un progetto esistente. Google pubblica la libreria client su RubyGems come google-ads-ad_manager
.
Gemfile:
gem 'google-ads-ad_manager', '~> 0.1.0'
Installa direttamente:
gem install google-ads-ad_manager
Configura le credenziali
La libreria client Ruby utilizza OAuth2 e le credenziali predefinite dell'applicazione (ADC) per l'autenticazione.
ADC cerca le credenziali nell'ordine nelle seguenti posizioni:
GOOGLE_APPLICATION_CREDENTIALS
.- Credenziali utente configurate tramite Google Cloud CLI (gcloud CLI).
- Quando viene eseguito su Google Cloud, il service account collegato alla risorsa Google Cloud.
Per creare e configurare le credenziali dell'ADC, consulta Autenticazione.
Effettua la tua prima richiesta
Ogni servizio REST ha una classe Ruby corrispondente con metodi per ogni metodo REST corrispondente. L'esempio seguente legge un
Network
.
require "google/ads/ad_manager/v1"
def get_network
# Create a client object. The client can be reused for multiple calls.
client = Google::Ads::AdManager::V1::NetworkService::Rest::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request = Google::Ads::AdManager::V1::GetNetworkRequest.new(name: => 'networks/NETWORK_CODE)'
# Call the get_network method.
result = client.get_network request
# The returned object is of type Google::Ads::AdManager::V1::Network.
p result
end
Per esempi di altri metodi e risorse, consulta il repository GitHub
googleapis/google-cloud-ruby
.
Registra le richieste e le risposte HTTP
La libreria client Ruby utilizza la libreria logger
standard per registrare le richieste e le risposte HTTP. Il logging è disabilitato per impostazione predefinita.
Per attivare il logging, imposta la variabile di ambiente GOOGLE_SDK_RUBY_LOGGING_GEMS
sul valore google-ads-ad_manager
. Se utilizzi più di un'API Google, puoi impostare il valore su un elenco delimitato da virgole di nomi di gem della libreria client. Il comportamento di registrazione predefinito scrive i log nello stream di errori standard.
In alternativa, puoi attivare la registrazione nel codice Ruby modificando la configurazionelogger
durante la creazione di un oggetto client.
require "google/ads/ad_manager/v1"
require "logger"
client = ::Google::Ads::AdManager::V1::NetworkService::Rest::Client.new do |config|
config.logger = Logger.new "my-app.log"
end
Gestisci gli errori
Tutti gli errori dell'API Ad Manager sono sottoclassi di ::Google::Cloud::Error nella libreria client Ruby.
result = client.get_network request
rescue ::Google::Cloud::Error => e
puts "An error of type #{e.class} occurred with HTTP status #{e.status_code}"
Gli errori dell'API Ad Manager includono anche un request_id
univoco che puoi fornire all'assistenza per ricevere aiuto per la risoluzione dei problemi. L'esempio seguente estrae il valore request_id
dall'errore details
.
rescue ::Google::Cloud::Error => e
request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
puts request_info.request_id
Crea i nomi delle risorse
La libreria client fornisce classi di supporto per creare nomi di risorse dagli ID.
require "google/ads/ad_manager/v1"
# Constructs a String in the format:
# "networks/{networkCode}/orders/{orderId}"
order_name = Google::Ads::AdManager::V1::OrderService::Paths::order_path(:network_code => 123, :order => 456)
Configurare le impostazioni proxy
La libreria client Ruby rispetta sia le variabili di ambiente HTTP_PROXY
sia quelle HTTPS_PROXY
.