ระบบจะจัดการการกำหนดค่าโดยใช้คลาส Config คุณสามารถกำหนดค่าไคลเอ็นต์ได้โดยใช้ไฟล์การกำหนดค่า ระบุค่าแบบไดนามิกเมื่อสร้าง หรือโหลดค่าจากตัวแปรสภาพแวดล้อม
ไฟล์การกำหนดค่า
คุณสามารถระบุไฟล์ google_ads_config.rb ที่จะใช้เมื่อ
สร้างอินสแตนซ์ของไคลเอ็นต์
หากไม่ส่งอาร์กิวเมนต์เมื่อสร้างอินสแตนซ์ของออบเจ็กต์ GoogleAdsClient ไลบรารีจะค้นหาไฟล์การกำหนดค่าตามลำดับต่อไปนี้
- เส้นทางที่ระบุไว้ในตัวแปรสภาพแวดล้อม
GOOGLE_ADS_CONFIGURATION_FILE_PATH - ไฟล์ชื่อ
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และkeyfilelogin_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