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:
- Variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
. - Kredensial pengguna yang disiapkan melalui Google Cloud CLI (gcloud CLI).
- 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
.