Ruby

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 اعتبارنامه ها را به ترتیب در مکان های زیر جستجو می کند:

  1. متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS .
  2. اطلاعات کاربری کاربر از طریق Google Cloud CLI (gcloud CLI) تنظیم شده است.
  3. هنگام اجرا در 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 احترام می گذارد.