Ruby

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:

  1. GOOGLE_APPLICATION_CREDENTIALS.
  2. Credenziali utente configurate tramite Google Cloud CLI (gcloud CLI).
  3. 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.