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