Ruby

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:

  1. GOOGLE_APPLICATION_CREDENTIALS zmienna środowiskowa.
  2. Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
  3. 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.