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="name_value",
    )

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

    # Handle the response
    print(response)

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

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

ข้อผิดพลาดของ 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