การกำหนดค่า

ระบบจะจัดการการกำหนดค่าโดยใช้คลาส Config คุณสามารถกำหนดค่าไคลเอ็นต์ได้โดยใช้ไฟล์การกำหนดค่า ระบุค่าแบบไดนามิกเมื่อสร้าง หรือโหลดค่าจากตัวแปรสภาพแวดล้อม

ไฟล์การกำหนดค่า

คุณสามารถระบุไฟล์ google_ads_config.rb ที่จะใช้เมื่อ สร้างอินสแตนซ์ของไคลเอ็นต์

หากไม่ส่งอาร์กิวเมนต์เมื่อสร้างอินสแตนซ์ของออบเจ็กต์ GoogleAdsClient ไลบรารีจะค้นหาไฟล์การกำหนดค่าตามลำดับต่อไปนี้

  1. เส้นทางที่ระบุไว้ในตัวแปรสภาพแวดล้อม GOOGLE_ADS_CONFIGURATION_FILE_PATH
  2. ไฟล์ชื่อ google_ads_config.rb ในไดเรกทอรี HOME (~/google_ads_config.rb)

หรือคุณจะส่งเส้นทางที่ชัดเจนเมื่อสร้างอินสแตนซ์ของออบเจ็กต์ GoogleAdsClient ก็ได้

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')

หากต้องการสร้างไฟล์นี้ ให้คัดลอก google_ads_config.rb จาก ที่เก็บ GitHub แล้วแก้ไขให้มีโทเค็นการรีเฟรช รหัสไคลเอ็นต์ และ รหัสลับไคลเอ็นต์

การกำหนดค่าแบบไดนามิก

คุณสามารถตั้งค่าการกำหนดค่าแบบไดนามิกเมื่อสร้างอินสแตนซ์ของไลบรารีได้โดยทำดังนี้

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... additional configuration
end

นอกจากนี้ คุณยังแก้ไขการกำหนดค่าหลังจากสร้างอินสแตนซ์ได้ด้วย (ซึ่งจะลบล้างการตั้งค่าที่โหลดระหว่างการเริ่มต้น)

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... additional configuration
end

ฟิลด์กำหนดค่า

ออบเจ็กต์ Config รองรับฟิลด์ต่อไปนี้

ฟิลด์ทั่วไป

  • refresh_token: โทเค็นการรีเฟรช OAuth (GOOGLE_ADS_REFRESH_TOKEN)
  • client_id: รหัสไคลเอ็นต์ OAuth (GOOGLE_ADS_CLIENT_ID)
  • client_secret: รหัสลับไคลเอ็นต์ OAuth (GOOGLE_ADS_CLIENT_SECRET)
  • keyfile: เส้นทางไปยังไฟล์คีย์ JSON ของบัญชีบริการ (GOOGLE_ADS_JSON_KEY_FILE_PATH)
  • impersonate: อีเมลที่จะใช้แทนเมื่อใช้บัญชีบริการที่มีการมอบสิทธิ์ทั่วทั้งโดเมน (GOOGLE_ADS_IMPERSONATED_EMAIL)
  • use_application_default_credentials: ตั้งค่าเป็น true เพื่อตรวจสอบสิทธิ์โดยใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS) รองรับใน google-ads-googleads เวอร์ชัน 36.1.0 ขึ้นไป
  • authentication: ออบเจ็กต์การตรวจสอบสิทธิ์ที่กำหนดเอง เช่น Proc (updater_proc), เส้นทางไฟล์คีย์หรือ Hash, หรือ GRPC::Core::Channel / GRPC::Core::ChannelCredentials ลบล้าง client_id, client_secret, refresh_token และ keyfile
  • login_customer_id: ดูเอกสารประกอบ login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID)
  • linked_customer_id: รหัสลูกค้าที่ลิงก์ (GOOGLE_ADS_LINKED_CUSTOMER_ID)
  • ads_assistant: ตัวระบุที่ไม่บังคับสำหรับส่วนหัวของ Google Ads API Assistant (GOOGLE_ADS_ASSISTANT; เพิ่มเป็น gaada ในเวอร์ชัน 37.0.0 และเปลี่ยนชื่อเป็น ads_assistant ในเวอร์ชัน 39.0.0)
  • http_proxy: URI ของพร็อกซี HTTP หรือ HTTPS ที่ไม่บังคับ (GOOGLE_ADS_RUBY_HTTP_PROXY)
  • api_endpoint: การลบล้างปลายทาง API ที่ไม่บังคับ (GOOGLE_ADS_ENDPOINT)
  • treat_deprecation_warnings_as_errors: แสดงข้อยกเว้นแทนการเรียก Warning#warn เมื่อมีการเรียกใช้โค้ดไลบรารีที่เลิกใช้งานแล้ว (false โดยค่าเริ่มต้น)
  • warn_on_all_deprecations: แสดงคำเตือนการเลิกใช้งานในการเรียกทุกครั้งแทนที่จะแสดงเพียงครั้งเดียวต่อตำแหน่งการเรียก (false โดยค่าเริ่มต้น)

ฟิลด์บันทึก (ดูรายละเอียดทั้งหมดได้ในคู่มือการบันทึก)

  • log_level: ระดับบันทึกขั้นต่ำของข้อความที่ต้องการบันทึก ตัวอย่างเช่น การระบุ 'DEBUG' จะบันทึกข้อความทั้งหมด และการระบุ 'INFO' จะไม่รวม DEBUG ข้อความ ขณะที่แสดงข้อความอื่นๆ ทั้งหมด
  • log_target: ตำแหน่งที่ต้องการบันทึก เช่น STDERR หรือเส้นทาง
  • logger: ระบุตัวบันทึกที่กำหนดเอง การระบุตัวบันทึกนี้จะลบล้างทั้ง log_level และ log_target

ตัวแปรสภาพแวดล้อม

คุณสามารถกำหนดค่าไลบรารีของไคลเอ็นต์ได้โดยใช้ตัวแปรสภาพแวดล้อม ระบบจะไม่โหลดตัวแปรเหล่านี้โดยค่าเริ่มต้น และต้องมีการเรียกอย่างชัดเจนหลังจากสร้างอินสแตนซ์ของไคลเอ็นต์จึงจะโหลดได้ ดูรายการตัวแปรสภาพแวดล้อมมาตรฐานทั้งหมด

หากต้องการโหลดตัวแปรสภาพแวดล้อมลงใน Config ให้เรียก load_environment_config

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

ทุกครั้งที่เรียก load_environment_config ตัวแปรสภาพแวดล้อมที่กำหนดไว้จะเขียนทับค่าที่เกี่ยวข้องซึ่งมีอยู่ใน Config อยู่แล้ว (ตัวแปรสภาพแวดล้อมที่ไม่ได้ตั้งค่าจะทำให้ค่าการกำหนดค่าที่มีอยู่ไม่เปลี่ยนแปลง) กลไกนี้ช่วยให้คุณรักษาไฟล์การกำหนดค่าเริ่มต้นและลบล้างค่าที่เฉพาะเจาะจงโดยใช้ตัวแปรสภาพแวดล้อม หรือกำหนดค่าไคลเอ็นต์ทั้งหมดด้วยตัวแปรสภาพแวดล้อมได้

นอกจากตัวแปรสภาพแวดล้อมมาตรฐานแล้ว ไลบรารี Ruby ยังรองรับตัวแปรเพิ่มเติม 2 ตัวดังนี้

  • GOOGLE_ADS_RUBY_LOG_LEVEL: เทียบเท่ากับ log_level ตามที่อธิบายไว้ก่อนหน้านี้
  • GOOGLE_ADS_RUBY_HTTP_PROXY: ระบุ URL ของพร็อกซี HTTP