Ruby

‫Google کتابخانه کارخواه Ruby را برای تعامل با Ad Manager API ارائه می‌دهد. توصیه می‌کنیم از کتابخانه مشتری با RubyGems استفاده کنید.

برای شروع، پروژه جدیدی در IDE انتخابی‌تان ایجاد کنید یا وابستگی را به پروژه موجود اضافه کنید. Google کتابخانه کارخواه را در RubyGems به‌عنوان google-ads-ad_manager منتشر می‌کند.

Gemfile

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

خط فرمان

gem install google-ads-ad_manager

پیکربندی اعتبارنامه‌ها

کتابخانه کارخواه Ruby از OAuth2 و اعتبارنامه‌های پیش‌فرض برنامه (ADC) برای اصالت‌سنجی استفاده می‌کند.

‫ADC به‌ترتیب در مکان‌های زیر به‌دنبال اطلاعات اعتباری می‌گردد:

  1. متغیر محیط GOOGLE_APPLICATION_CREDENTIALS.
  2. اطلاعات اعتباری کاربر ازطریق Google Cloud CLI (gcloud CLI) راه‌اندازی شده است.
  3. هنگام اجرا در Google Cloud، حساب خدمات به منبع Google Cloud پیوست می‌شود.

برای ایجاد و پیکربندی کردن اطلاعات اعتباری ADC، به اصالت‌سنجی مراجعه کنید.

اولین درخواستتان را انجام دهید

هر سرویس REST دارای کلاس Ruby متناظری با روش‌هایی برای هر روش 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 استفاده می‌کنید، می‌توانید مقدار را روی فهرستی از نام‌های gem کتابخانه مشتری که با کاما از هم جدا شده‌اند تنظیم کنید. رفتار پیش‌فرض ثبت گزارش، گزارش‌ها را در جریان خطای استاندارد می‌نویسد.

یا می‌توانید با اصلاح پیکربندی logger هنگام ساختن شیء مشتری، گزارش‌گیری را در کد Ruby خود فعال کنید.

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» زیرکلاس‌های ::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 پشتیبانی می‌کند.