การกำหนดค่า

การกำหนดค่าได้รับการจัดการโดยใช้คลาส 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 v36.1.0 ขึ้นไป
  • authentication: ออบเจ็กต์การตรวจสอบสิทธิ์ที่กำหนดเอง เช่น Proc (updater_proc), เส้นทางไฟล์คีย์หรือ Hash หรือ GRPC::Core::Channel / GRPC::Core::ChannelCredentials ลบล้าง client_id, client_secret, refresh_token และ keyfile
  • 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 ใน v37.0.0 และเปลี่ยนชื่อเป็น ads_assistant ใน v39.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