Ruby

توفّر Google مكتبة عملاء Ruby للتفاعل مع Ad Manager API. ننصحك باستخدام مكتبة العميل مع RubyGems.

للبدء، أنشئ مشروعًا جديدًا في بيئة تطوير البرامج (IDE) التي تختارها أو أضِف التبعية إلى مشروع حالي. تنشر Google مكتبة العميل على RubyGems باسم google-ads-ad_manager.

Gemfile:

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

التثبيت مباشرةً:

gem install google-ads-ad_manager

ضبط بيانات الاعتماد

تستخدم مكتبة برامج Ruby العميل بروتوكول OAuth2 وبيانات الاعتماد التلقائية للتطبيق (ADC) للمصادقة.

يبحث "مدير بيانات اعتماد التطبيقات" عن بيانات الاعتماد بالترتيب في المواقع التالية:

  1. متغيّر البيئة GOOGLE_APPLICATION_CREDENTIALS
  2. بيانات اعتماد المستخدم التي تم إعدادها من خلال واجهة سطر أوامر Google Cloud ‏ (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 واحدة، يمكنك ضبط القيمة على قائمة مفصولة بفواصل لأسماء مجموعات أدوات مكتبة العميل. يُسجِّل السلوك التلقائي للتسجيل السجلات في بث الأخطاء العادي.

بدلاً من ذلك، يمكنك تفعيل التسجيل في رمز Ruby من خلال تعديل إعدادات 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.