Google udostępnia bibliotekę klienta Ruby do interakcji z interfejsem API Ad Managera. Zalecamy używanie biblioteki klienta z RubyGems.
Aby rozpocząć, utwórz nowy projekt w wybranym IDE lub dodaj zależność do istniejącego projektu. Google publikuje bibliotekę klienta w RubyGems jako google-ads-ad_manager.
Gemfile
gem 'google-ads-ad_manager', '~> 5.3.0'
Wiersz poleceń
gem install google-ads-ad_manager
Konfigurowanie danych logowania
Biblioteka klienta Ruby używa do uwierzytelniania protokołu OAuth2 i domyślnego uwierzytelniania aplikacji (ADC).
ADC szuka danych logowania w kolejności w tych lokalizacjach:
GOOGLE_APPLICATION_CREDENTIALSzmienna środowiskowa.- Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
- Gdy usługa jest uruchomiona w Google Cloud, jest to konto usługi dołączone do zasobu Google Cloud.
Informacje o tworzeniu i konfigurowaniu danych logowania ADC znajdziesz w sekcji Uwierzytelnianie.
Przesyłanie pierwszej prośby
Każda usługa REST ma odpowiadającą jej klasę Ruby z metodami dla każdej odpowiadającej jej metody REST. Ten przykład odczytuje 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
Przykłady innych metod i zasobów znajdziesz w repozytorium GitHub googleapis/google-cloud-ruby.
Logowanie żądań i odpowiedzi HTTP
Biblioteka klienta Ruby używa standardowej biblioteki logger do rejestrowania żądań i odpowiedzi HTTP. Logowanie jest domyślnie wyłączone.
Aby włączyć rejestrowanie, ustaw zmienną środowiskową GOOGLE_SDK_RUBY_LOGGING_GEMS na wartość google-ads-ad_manager. Jeśli używasz więcej niż jednego interfejsu API Google, możesz ustawić wartość na listę nazw gemów biblioteki klienta rozdzielonych przecinkami. Domyślne działanie logowania polega na zapisywaniu logów w standardowym strumieniu błędów.
Możesz też włączyć rejestrowanie w kodzie Ruby, modyfikując konfigurację logger podczas tworzenia obiektu klienta.
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
Obsługuj błędy
Wszystkie błędy interfejsu API Ad Managera są podklasami ::Google::Cloud::Error w bibliotece klienta 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}"
Błędy interfejsu API Ad Managera zawierają też unikalny request_id, który możesz przekazać zespołowi pomocy, aby uzyskać pomoc w rozwiązywaniu problemów. Poniższy przykład wyodrębnia request_id z błędu details.
rescue ::Google::Cloud::Error => e
request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
puts request_info.request_id
Tworzenie nazw zasobów
Biblioteka klienta udostępnia klasy pomocnicze do tworzenia nazw zasobów na podstawie identyfikatorów.
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)
Konfigurowanie ustawień serwera proxy
Biblioteka klienta Ruby uwzględnia zmienne środowiskowe HTTP_PROXY i HTTPS_PROXY.