Python

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

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

requirements.txt

google-ads-admanager==0.10.4

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

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