Ruby

Google udostępnia bibliotekę klienta Ruby do interakcji z interfejsem Ad Manager API. Zalecamy użycie biblioteki klienta z RubyGems.

Aby rozpocząć, utwórz nowy projekt w wybranym środowisku 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', '~> 0.1.0'

Instalowanie bezpośrednio:

gem install google-ads-ad_manager

Konfigurowanie danych logowania

Biblioteka klienta Ruby do uwierzytelniania używa OAuth 2 i domyślnych danych logowania aplikacji (ADC).

ADC wyszukuje dane logowania w tych miejscach:

  1. zmiennej środowiskowej GOOGLE_APPLICATION_CREDENTIALS.
  2. Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
  3. W przypadku uruchamiania w Google Cloud – konto usługi powiązane ze zasobem 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 odpowiadającymi metodom REST. Ten przykład odczytuje wartość 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.

Rejestrowanie żądań i odpowiedzi HTTP

Biblioteka klienta Ruby korzysta ze 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ż 1 interfejsu API Google, możesz ustawić wartość jako listę nazw gemów biblioteki klienta oddzielonych przecinkami. Domyślne zachowanie 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 Ad Manager API są podklasami klasy ::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 Manager zawierają też unikalny identyfikator request_id, który możesz podać zespołowi pomocy, aby uzyskać pomoc w rozwiązywaniu problemów. W tym przykładzie z błędu details jest wyodrębniany element request_id.

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_PROXYHTTPS_PROXY.