การกำหนดค่าไคลเอ็นต์ทำได้หลายวิธี
การกำหนดค่าโดยใช้ไฟล์ YAML
คุณระบุไฟล์ YAML ที่จะใช้เมื่อเริ่มต้นไคลเอ็นต์ที่มี
ข้อมูลการตรวจสอบสิทธิ์ที่จำเป็นเพื่อส่งคำขอ ไฟล์นี้
เข้าถึงเมื่อไคลเอ็นต์เริ่มต้นโดยใช้เมธอด load_from_storage
วิธีที่ง่ายที่สุดในการสร้างไฟล์นี้คือการคัดลอก
google-ads.yaml
ตัวอย่างจากที่เก็บ GitHub แล้วแก้ไขเพื่อรวมข้อมูลเข้าสู่ระบบของคุณ
ซึ่งรวมถึงโทเค็นของนักพัฒนา, โทเค็นการรีเฟรช, รหัสไคลเอ็นต์ และรหัสลับไคลเอ็นต์
หากไม่ระบุเส้นทาง ไลบรารีจะดูในไดเรกทอรี $HOME
ของคุณ
สำหรับไฟล์
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
หากต้องการระบุตำแหน่งที่ตั้งของไฟล์ google-ads.yaml
คุณสามารถส่ง
เป็นสตริงของเมธอดเมื่อเรียกใช้:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")
นอกจากนี้คุณยังระบุเส้นทางได้โดยกำหนดตัวแปรสภาพแวดล้อมที่เฉพาะเจาะจงดังนี้
import os
os.environ["GOOGLE_ADS_CONFIGURATION_FILE_PATH"] = "path/to/google-ads.yaml"
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()
หากมีการระบุทั้ง 2 ค่า ระบบจะส่งผ่านเส้นทางไปยังเมธอด และ ตามข้างต้น มีตัวแปรสภาพแวดล้อมอยู่ ไลบรารีจะจัดลำดับความสำคัญของเส้นทาง ลงในเมธอด
การกำหนดค่าโดยใช้ตัวแปรสภาพแวดล้อม
คุณสามารถจัดเก็บการกำหนดค่าของไคลเอ็นต์ทั้งหมดเป็นตัวแปรสภาพแวดล้อม ซึ่ง
จะถูกอ่านเมื่อใช้เมธอด load_from_env
ของไคลเอ็นต์ สภาพแวดล้อม
ตัวแปรควรมีชื่อเดียวกับที่ระบุไว้ใน google-ads.yaml
แต่ควรเป็นตัวพิมพ์ใหญ่ทั้งหมดและขึ้นต้นด้วย GOOGLE_ADS_
Namespace เช่น client_id
ควรจัดเก็บเป็น GOOGLE_ADS_CLIENT_ID
โดยทั่วไปแล้วจะมีการกำหนดตัวแปรสภาพแวดล้อมไว้ในไฟล์การกำหนดค่า Bash เช่น
เป็นไฟล์ .bashrc
หรือ .bash_profile
ในไดเรกทอรี $HOME
โฆษณาเหล่านี้
สามารถกำหนดได้โดยใช้บรรทัดคำสั่ง โปรดทราบว่าวิธีการเหล่านี้
สมมติว่าคุณใช้ bash
หากคุณใช้ Shell อื่นคุณอาจต้องใช้
ดูเอกสารประกอบเกี่ยวกับวิธีตั้งค่าตัวแปรสภาพแวดล้อมใน
เชลล์ที่คุณใช้อยู่
ขั้นตอนพื้นฐานในการกำหนดตัวแปรสภาพแวดล้อมโดยใช้ .bashrc
มีดังนี้
โดยใช้เทอร์มินัล:
# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
$ echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
$ src ~/.bashrc
นอกจากนี้ คุณยังตั้งค่าตัวแปรสภาพแวดล้อมในอินสแตนซ์เทอร์มินัลโดยตรงได้ด้วย จากบรรทัดคำสั่ง:
$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890
เมธอด load_from_env
จะโหลดข้อมูลการกําหนดค่าจาก environ
ในโมดูล os
ในตัวของ Python เช่น os.environ["GOOGLE_ADS_CLIENT_ID"]
ตัวอย่างวิธีเริ่มต้นอินสแตนซ์ของไคลเอ็นต์ด้วยการกำหนดค่ามีดังนี้ จากตัวแปรสภาพแวดล้อม
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
ในการกำหนดค่า logging
ผ่านตัวแปรสภาพแวดล้อม การกำหนดค่า
ต้องเป็นออบเจ็กต์ JSON ที่ตรงกับโครงสร้างของคีย์ YAML ในองค์ประกอบ
ตัวอย่าง google-ads.yaml
ใหม่
ตัวอย่างวิธีตั้งค่าโดยใช้ไฟล์ .bashrc
มีดังนี้
export GOOGLE_ADS_LOGGING='{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"default_fmt": {
"format": "[%(asctime)s - %(levelname)s] %(message).5000s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"default_handler": {
"class": "logging.StreamHandler",
"formatter": "default_fmt"
}
},
"loggers": {
"": {
"handlers": ["default_handler"],
"level": "INFO"
}
}
}'
การกำหนดค่าโดยใช้สตริง YAML
หากคุณได้อ่านไฟล์ YAML ในหน่วยความจำ คุณสามารถส่งไฟล์ดังกล่าวไปยัง
ในการเริ่มต้น ซึ่งทำได้โดยใช้เมธอด load_from_string
from google.ads.googleads.client import GoogleAdsClient
with open("/path/to/yaml", "rb") as handle:
yaml = handle.read()
client = GoogleAdsClient.load_from_string(yaml)
การกำหนดค่าโดยใช้ dict
คุณสามารถส่ง dict
ไปยังเมธอด load_from_dict
ได้โดยตรง เช่น
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "abcdef123456",
"refresh_token": "1//0abcdefghijklABCDEF",
"client_id": "123456-abcdef.apps.googleusercontent.com",
"client_secret": "aBcDeFgHiJkL"}
client = GoogleAdsClient.load_from_dict(credentials)
ช่องการกำหนดค่า
การกำหนดค่าไลบรารีของไคลเอ็นต์รองรับฟิลด์ต่อไปนี้
ช่องทั่วไป (ชื่อเหล่านี้จะเหมือนกันไม่ว่าคุณจะใช้ YAML หรือคำสั่ง การกำหนดค่า):
refresh_token
: โทเค็นการรีเฟรช OAuthclient_id
: รหัสไคลเอ็นต์ OAuthclient_secret
: รหัสลับไคลเอ็นต์ OAuthdeveloper_token
: โทเค็นของนักพัฒนาสำหรับการเข้าถึง APIlogin_customer_id
: ดู เอกสารlogin-customer-idlinked_customer_id
: ดู รหัสลูกค้าที่ลิงก์ไว้ เอกสารประกอบjson_key_file_path
(เดิมคือpath_to_private_key_file
): เส้นทางไปยัง ไฟล์คีย์ส่วนตัวในเครื่อง ใช้สำหรับการตรวจสอบสิทธิ์โดยใช้บริการ ของคุณได้ โปรดดูเอกสารประกอบของบัญชีบริการ OAuth2impersonated_email
(ก่อนหน้านี้คือdelegate_account
): อีเมลของบัญชีที่ใช้ ในฐานะผู้รับมอบสิทธิ์ หมายเลขนี้จะใช้ในการตรวจสอบสิทธิ์โดยใช้บัญชีบริการ โปรดดู เอกสารประกอบของบัญชีบริการ OAuth2logging
: การกำหนดค่าการบันทึก ข้อมูลด้านล่างนี้จะอธิบายช่องการบันทึกhttp_proxy
: ดูเอกสารประกอบเกี่ยวกับพร็อกซีuse_proto_plus
: จะใช้ข้อความ Proto+ หรือไม่ โปรดดู เอกสารประกอบข้อความโปรโตคอล
ช่องทั่วไปที่เป็นตัวแปรสภาพแวดล้อม
GOOGLE_ADS_CONFIGURATION_FILE_PATH
GOOGLE_ADS_REFRESH_TOKEN
GOOGLE_ADS_CLIENT_ID
GOOGLE_ADS_CLIENT_SECRET
GOOGLE_ADS_DEVELOPER_TOKEN
GOOGLE_ADS_LOGIN_CUSTOMER_ID
GOOGLE_ADS_LINKED_CUSTOMER_ID
GOOGLE_ADS_JSON_KEY_FILE_PATH
(เดิมคือGOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE
)GOOGLE_ADS_IMPERSONATED_EMAIL
(เดิมคือGOOGLE_ADS_DELEGATE_ACCOUNT
)GOOGLE_ADS_LOGGING
GOOGLE_ADS_HTTP_PROXY
GOOGLE_ADS_USE_PROTO_PLUS
ช่องการบันทึก ซึ่งเป็นช่องที่อยู่ใต้การกำหนดค่า logging
ได้มาจากโมดูลในตัว logging.config
โดยตรง
เนื่องจากไลบรารีจะส่งทุกช่องภายใต้เนมสเปซ logging
ไปยัง
logging.config.dictConfig
ดูรายละเอียดทั้งหมดได้ในคู่มือการบันทึก
version
: ค่าจำนวนเต็มที่แสดงเวอร์ชันสคีมาdisable_existing_loggers
: มีการกำหนดค่าผู้บันทึกที่อื่นใน ควรปิดใช้แอปพลิเคชันformatters
: พจนานุกรมที่จะกำหนดรูปแบบประเภทต่างๆhandlers
: พจนานุกรมที่กำหนดตัวจัดการต่างๆ ซึ่งควบคุมตำแหน่ง จะเขียนบันทึกไปยัง และควรใช้ตัวจัดรูปแบบใดloggers
: พจนานุกรมที่กำหนดประเภทตัวบันทึกประเภทต่างๆ ได้แก่ เครื่องจัดการและระดับการบันทึก