Python

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

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

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