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 จะค้นหาข้อมูลเข้าสู่ระบบตามลำดับในตำแหน่งต่อไปนี้
GOOGLE_APPLICATION_CREDENTIALSตัวแปรสภาพแวดล้อม- ข้อมูลเข้าสู่ระบบของผู้ใช้ที่ตั้งค่าผ่าน Google Cloud CLI (gcloud CLI)
- เมื่อเรียกใช้ใน 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