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 dazu 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', '~> 5.3.0'
Befehlszeile
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 folgenden Standorten nach Anmeldedaten:
- Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS. - Nutzeranmeldedaten, die über die Google Cloud CLI (gcloud CLI) eingerichtet wurden.
- Wenn die Anwendung in Google Cloud ausgeführt wird, das Dienstkonto, das an die Google Cloud-Ressource angehängt ist.
Informationen zum Erstellen und Konfigurieren von 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
In der Ruby-Clientbibliothek wird die Standardbibliothek logger verwendet, um HTTP-Anfragen und ‑Antworten zu protokollieren. Das Logging ist standardmäßig deaktiviert.
Um das Logging zu aktivieren, setzen Sie die Umgebungsvariable GOOGLE_SDK_RUBY_LOGGING_GEMS auf den Wert google-ads-ad_manager. Wenn Sie mehrere Google-APIs verwenden, können Sie den Wert auf eine durch Kommas getrennte Liste von Clientbibliotheks-Gem-Namen festlegen. Beim Standard-Logging-Verhalten werden Logs 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 auch eine eindeutige request_id, die Sie dem Support zur Fehlerbehebung zur Verfügung stellen können. Im folgenden Beispiel wird die 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.