Google یک کتابخانه کلاینت Ruby برای تعامل با Ad Manager API فراهم می کند. توصیه می کنیم از کتابخانه مشتری با RubyGems استفاده کنید.
برای شروع، یک پروژه جدید در IDE مورد نظر خود ایجاد کنید یا وابستگی را به پروژه موجود اضافه کنید. Google کتابخانه مشتری را به عنوان google-ads-ad_manager
در RubyGems منتشر می کند.
Gemfile:
gem 'google-ads-ad_manager', '~> 0.1.0'
نصب مستقیم:
gem install google-ads-ad_manager
اعتبارنامه ها را پیکربندی کنید
کتابخانه کلاینت Ruby از OAuth2 و Application Default Credentials (ADC) برای احراز هویت استفاده می کند.
ADC اعتبارنامه ها را به ترتیب در مکان های زیر جستجو می کند:
- متغیر محیطی
GOOGLE_APPLICATION_CREDENTIALS
. - اطلاعات کاربری کاربر از طریق Google Cloud CLI (gcloud CLI) تنظیم شده است.
- هنگام اجرا در Google Cloud، حساب سرویس متصل به منبع Google Cloud است.
برای ایجاد و پیکربندی اعتبار ADC خود، به احراز هویت مراجعه کنید.
اولین درخواست خود را مطرح کنید
هر سرویس REST دارای یک کلاس روبی مربوطه با متدهایی برای هر روش REST مربوطه است. مثال زیر یک 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
برای نمونههایی از روشها و منابع دیگر، به مخزن GitHub googleapis/google-cloud-ruby
مراجعه کنید.
درخواست ها و پاسخ های HTTP را ثبت کنید
کتابخانه کتابخانه کلاینت Ruby از کتابخانه استاندارد logger
برای ثبت درخواست ها و پاسخ های HTTP استفاده می کند. ورود به سیستم به طور پیش فرض غیرفعال است.
برای فعال کردن گزارش، متغیر محیطی GOOGLE_SDK_RUBY_LOGGING_GEMS
روی مقدار google-ads-ad_manager
تنظیم کنید. اگر از بیش از یک Google API استفاده میکنید، میتوانید مقدار را روی فهرستی از نامهای جم کتابخانه مشتری با کاما تعیین کنید. رفتار پیشفرض گزارشگیری، گزارشها را در جریان خطای استاندارد مینویسد.
از طرف دیگر، میتوانید ورود به کد روبی خود را با تغییر پیکربندی logger
در هنگام ساخت یک شی مشتری فعال کنید.
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
رسیدگی به خطاها
همه خطاهای Ad Manager API زیر کلاس های ::Google::Cloud::Error در کتابخانه کلاینت 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}"
خطاهای Ad Manager API همچنین شامل یک request_id
منحصربهفرد است که میتوانید برای کمک در عیبیابی ارائه دهید. مثال زیر request_id
از details
خطا استخراج می کند.
rescue ::Google::Cloud::Error => e
request_info = e.details.find { |detail| detail.is_a?(Google::Rpc::RequestInfo)}
puts request_info.request_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)
تنظیمات پروکسی را پیکربندی کنید
کتابخانه کلاینت Ruby به متغیرهای محیطی HTTP_PROXY
و HTTPS_PROXY
احترام می گذارد.