Python

Google มีไลบรารีของไคลเอ็นต์ Python สำหรับการโต้ตอบกับ Ad Manager API เราขอแนะนำให้ใช้ไลบรารีของไคลเอ็นต์กับ PyPI

หากต้องการเริ่มต้นใช้งาน ให้สร้างโปรเจ็กต์ใหม่ใน IDE ที่คุณเลือกหรือเพิ่มทรัพยากร Dependency ลงในโปรเจ็กต์ที่มีอยู่ Google เผยแพร่อาร์ติแฟกต์ไลบรารีของไคลเอ็นต์ไปยัง PyPI เป็น google-ads-admanager

requirements.txt

google-ads-admanager==0.10.7

บรรทัดคำสั่ง

pip install google-ads-admanager

กำหนดค่าข้อมูลเข้าสู่ระบบ

ไลบรารีของไคลเอ็นต์ Python ใช้ OAuth2 และข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อตรวจสอบสิทธิ์

ADC จะค้นหาข้อมูลเข้าสู่ระบบตามลำดับในตำแหน่งต่อไปนี้

  1. ตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS
  2. ข้อมูลเข้าสู่ระบบของผู้ใช้ที่ตั้งค่าผ่าน Google Cloud CLI (gcloud CLI)
  3. เมื่อทำงานใน Google Cloud บัญชีบริการจะเชื่อมโยงกับทรัพยากร Google Cloud

ดูวิธีสร้างและกำหนดค่าข้อมูลเข้าสู่ระบบ ADC ได้ที่หัวข้อการตรวจสอบสิทธิ์

ส่งคำขอแรก

แต่ละบริการจะมีออบเจ็กต์ ServiceClient ที่มีทั้งเมธอดแบบซิงโครนัสและอะซิงโครนัสสำหรับเมธอด REST แต่ละรายการ ตัวอย่างต่อไปนี้จะอ่าน Network แบบซิงโครนัส



from google.ads import admanager_v1


def sample_get_network():
    # Create a client
    client = admanager_v1.NetworkServiceClient()

    # Initialize request argument(s)
    request = admanager_v1.GetNetworkRequest(
        name="networks/[NETWORK_CODE]",
    )

    # Make the request
    response = client.get_network(request=request)

    # Handle the response
    print(response)

ดูตัวอย่างเมธอดและทรัพยากรอื่นๆ ได้ที่ที่เก็บ GitHub googleapis/google-cloud-python

บันทึกคำขอและการตอบกลับ HTTP

ไลบรารีของไคลเอ็นต์ Python ใช้ไลบรารี logging มาตรฐานของ Python เพื่อบันทึกคำขอและการตอบกลับ HTTP โดยค่าเริ่มต้น ระบบจะปิดใช้การบันทึก

หากต้องการเปิดใช้การบันทึก ให้ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_SDK_PYTHON_LOGGING_SCOPE ตัวแปรสภาพแวดล้อมนี้จะกำหนดค่าการจัดการเหตุการณ์การบันทึกที่ระดับ logging.DEBUG ขึ้นไป

# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1

# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google

หรือจะใช้โมดูล logging ของ Python ก็ได้ ดังนี้

import logging

from google.ads import admanager_v1

logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)

จัดการข้อผิดพลาด

ข้อผิดพลาด API ทั้งหมดจะขยายคลาสพื้นฐาน GoogleAPIError

ช่องสาเหตุของข้อผิดพลาดจะระบุประเภทข้อผิดพลาดอย่างไม่ซ้ำกัน ใช้ช่องนี้เพื่อกำหนดวิธีจัดการข้อผิดพลาด

try:
  network = client.get_network(request=request)
  print(network)
except GoogleAPIError as e:
  # Handle error
  print(e.reason)

ข้อผิดพลาดของ Ad Manager API ยังรวมถึง requestId ที่ไม่ซ้ำกันซึ่งคุณสามารถส่งให้ทีมสนับสนุนเพื่อขอความช่วยเหลือในการแก้ปัญหาได้ ตัวอย่างต่อไปนี้จะดึงข้อมูล requestId จาก GoogleAPIError

except GoogleAPIError as e:
  requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
  requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
  print(requestInfo['requestId'])

ตั้งค่าพร็อกซี

ไลบรารีของไคลเอ็นต์ Python จะเป็นไปตามการตั้งค่าตัวแปรสภาพแวดล้อม http_proxy และ https_proxy