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) เพื่อตรวจสอบสิทธิ์
ADC จะค้นหาข้อมูลเข้าสู่ระบบตามลําดับในตําแหน่งต่อไปนี้
- ตัวแปรสภาพแวดล้อม
GOOGLE_APPLICATION_CREDENTIALS
- ข้อมูลเข้าสู่ระบบของผู้ใช้ที่ตั้งค่าผ่าน Google Cloud CLI (gcloud CLI)
- เมื่อทำงานใน 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