การกำหนดค่า

การกำหนดค่าไคลเอ็นต์ทำได้หลายวิธี

การกำหนดค่าโดยใช้ไฟล์ 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 หรือคำสั่ง การกำหนดค่า):

ช่องทั่วไปที่เป็นตัวแปรสภาพแวดล้อม

  • 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: พจนานุกรมที่กำหนดประเภทตัวบันทึกประเภทต่างๆ ได้แก่ เครื่องจัดการและระดับการบันทึก