Ruby

Google stellt eine Ruby-Clientbibliothek für die Interaktion mit der Ad Manager API bereit. Wir empfehlen, die Clientbibliothek mit RubyGems zu verwenden.

Erstellen Sie zuerst ein neues Projekt in der IDE Ihrer Wahl oder fügen Sie die Abhängigkeit einem vorhandenen Projekt hinzu. Google veröffentlicht die Clientbibliothek in RubyGems als google-ads-ad_manager.

Gemfile:

gem 'google-ads-ad_manager', '~> 0.1.0'

Direkt installieren:

gem install google-ads-ad_manager

Anmeldedaten konfigurieren

Die Ruby-Clientbibliothek verwendet OAuth2 und Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) zur Authentifizierung.

ADC sucht in der folgenden Reihenfolge an den folgenden Standorten nach Anmeldedaten:

  1. GOOGLE_APPLICATION_CREDENTIALS-Umgebungsvariable.
  2. Über die Google Cloud CLI (gcloud CLI) eingerichtete Nutzeranmeldedaten
  3. Wenn die Ausführung in Google Cloud erfolgt, das an die Google Cloud-Ressource angehängte Dienstkonto.

Informationen zum Erstellen und Konfigurieren Ihrer ADC-Anmeldedaten finden Sie unter Authentifizierung.

Erste Anfrage senden

Jeder REST-Dienst hat eine entsprechende Ruby-Klasse mit Methoden für jede entsprechende REST-Methode. Im folgenden Beispiel wird ein Network gelesen.

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

Beispiele für andere Methoden und Ressourcen finden Sie im GitHub-Repository googleapis/google-cloud-ruby.

HTTP-Anfragen und ‑Antworten protokollieren

Die Ruby-Clientbibliothek verwendet die Standardbibliothek logger, um HTTP-Anfragen und ‑antworten zu protokollieren. Das Logging ist standardmäßig deaktiviert.

Wenn Sie das Logging aktivieren möchten, legen Sie die Umgebungsvariable GOOGLE_SDK_RUBY_LOGGING_GEMS auf den Wert google-ads-ad_manager fest. Wenn Sie mehrere Google APIs verwenden, können Sie den Wert auf eine kommagetrennte Liste von Gem-Namen der Clientbibliothek festlegen. Beim standardmäßigen Logging-Verhalten werden Protokolle in den Standardfehlerstream geschrieben.

Alternativ können Sie das Logging in Ihrem Ruby-Code aktivieren, indem Sie die logger-Konfiguration beim Erstellen eines Clientobjekts ändern.

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

Fehler verarbeiten

Alle Ad Manager API-Fehler sind Unterklassen von ::Google::Cloud::Error in der Ruby-Clientbibliothek.

result = client.get_network request
rescue ::Google::Cloud::Error => e
  puts "An error of type #{e.class} occurred with HTTP status #{e.status_code}"

Ad Manager API-Fehler enthalten außerdem eine eindeutige request_id, die Sie dem Support zur Fehlerbehebung mitteilen können. Im folgenden Beispiel wird request_id aus dem Fehler details extrahiert.

rescue ::Google::Cloud::Error => e
  request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
  puts request_info.request_id

Ressourcennamen erstellen

Die Clientbibliothek bietet Hilfsklassen zum Erstellen von Ressourcennamen aus IDs.

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)

Proxy-Einstellungen konfigurieren

Die Ruby-Clientbibliothek berücksichtigt sowohl die Umgebungsvariable HTTP_PROXY als auch HTTPS_PROXY.