Ruby

Google menyediakan library klien Ruby untuk berinteraksi dengan Ad Manager API. Sebaiknya gunakan library klien dengan RubyGems.

Untuk memulai, buat project baru di IDE pilihan Anda atau tambahkan dependensi ke project yang ada. Google memublikasikan library klien ke RubyGems sebagai google-ads-ad_manager.

Gemfile:

gem 'google-ads-ad_manager', '~> 0.1.0'

Menginstal langsung:

gem install google-ads-ad_manager

Mengonfigurasi kredensial

Library klien Ruby menggunakan OAuth2 dan Kredensial Default Aplikasi (ADC) untuk melakukan autentikasi.

ADC menelusuri kredensial secara berurutan di lokasi berikut:

  1. Variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.
  2. Kredensial pengguna yang disiapkan melalui Google Cloud CLI (gcloud CLI).
  3. Saat berjalan di Google Cloud, akun layanan akan dilampirkan ke resource Google Cloud.

Untuk membuat dan mengonfigurasi kredensial ADC, lihat Autentikasi.

Membuat permintaan pertama Anda

Setiap layanan REST memiliki class Ruby yang sesuai dengan metode untuk setiap metode REST yang sesuai. Contoh berikut membaca 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

Untuk contoh metode dan resource lainnya, lihat repositori GitHub googleapis/google-cloud-ruby.

Membuat log permintaan dan respons HTTP

Library klien Ruby menggunakan library logger standar untuk mencatat log permintaan dan respons HTTP. Logging dinonaktifkan secara default.

Untuk mengaktifkan logging, tetapkan variabel lingkungan GOOGLE_SDK_RUBY_LOGGING_GEMS ke nilai google-ads-ad_manager. Jika menggunakan lebih dari satu Google API, Anda dapat menetapkan nilai ke daftar nama gem library klien yang dipisahkan koma. Perilaku logging default menulis log ke aliran data error standar.

Atau, Anda dapat mengaktifkan logging dalam kode Ruby dengan mengubah konfigurasi logger saat membuat objek klien.

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

Menangani error

Semua error Ad Manager API adalah subclass dari ::Google::Cloud::Error di library klien 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}"

Error Ad Manager API juga menyertakan request_id unik yang dapat Anda berikan ke dukungan untuk mendapatkan bantuan dalam memecahkan masalah. Contoh berikut mengekstrak request_id dari error details.

rescue ::Google::Cloud::Error => e
  request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
  puts request_info.request_id

Membuat nama resource

Library klien menyediakan class helper untuk membuat nama resource dari ID.

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)

Mengonfigurasi setelan proxy

Library klien Ruby mematuhi variabel lingkungan HTTP_PROXY dan HTTPS_PROXY.