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:
- zmiennej środowiskowej
GOOGLE_APPLICATION_CREDENTIALS
. - Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
- 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_PROXY
i HTTPS_PROXY
.