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:
GOOGLE_APPLICATION_CREDENTIALS
-Umgebungsvariable.- Über die Google Cloud CLI (gcloud CLI) eingerichtete Nutzeranmeldedaten
- 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
.