Ruby

Google มีไลบรารีของไคลเอ็นต์ Ruby สำหรับโต้ตอบกับ Ad Manager API เราขอแนะนำให้ใช้ไลบรารีของไคลเอ็นต์กับ RubyGems

หากต้องการเริ่มต้นใช้งาน ให้สร้างโปรเจ็กต์ใหม่ใน IDE ที่คุณเลือก หรือเพิ่มทรัพยากร Dependency ไปยังโปรเจ็กต์ที่มีอยู่ Google เผยแพร่ไลบรารีของไคลเอ็นต์ไปยัง RubyGems เป็น google-ads-ad_manager

Gemfile

gem 'google-ads-ad_manager', '~> 5.3.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 มากกว่า 1 รายการ คุณสามารถตั้งค่าเป็นรายการชื่อ Gem ของไลบรารีของไคลเอ็นต์ที่คั่นด้วยคอมมา ลักษณะการทำงานของการบันทึกเริ่มต้นจะเขียนบันทึกลงในสตรีมข้อผิดพลาดมาตรฐาน

หรือคุณจะเปิดใช้การบันทึกในโค้ด 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