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 จะค้นหาข้อมูลเข้าสู่ระบบตามลำดับในตำแหน่งต่อไปนี้
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