กำลังดึงข้อมูลการอ้างอิงไปยังคลาส Proto ต่างๆ ทั้งหมดที่จำเป็นสำหรับการใช้ API Python สามารถพูดรายละเอียดได้ คุณจะต้องมีความเข้าใจในตัวเองเกี่ยวกับ API หรือการสลับตามบริบทบ่อยครั้งเพื่ออ้างอิงโปรโตหรือเอกสารประกอบ
เมธอด get_service
และ get_type
ของลูกค้า
เมธอด Getter ทั้งสองวิธีนี้ช่วยให้คุณสามารถเรียกบริการหรือออบเจ็กต์ประเภทใดก็ได้ใน
API เมธอด get_service
ใช้เพื่อเรียกข้อมูลไคลเอ็นต์บริการ get_type
ใช้กับออบเจ็กต์อื่นๆ มีการกำหนดคลาสของไคลเอ็นต์บริการในโค้ด
ภายใต้เส้นทางเวอร์ชัน google/ads/googleads/v*/services/services/
และ
จะกำหนดไว้ภายใต้หมวดหมู่ออบเจ็กต์ต่างๆ
google/ads/googleads/v*/common|enums|errors|resources|services/types/
ระบบจะสร้างโค้ดทั้งหมดที่อยู่ใต้ไดเรกทอรีเวอร์ชัน จึงเป็นวิธีที่ดีที่สุด
ให้ใช้วิธีการเหล่านี้แทนการนำเข้าออบเจ็กต์โดยตรง ในกรณีที่
ของการเปลี่ยนแปลงฐานของโค้ดเบส
ต่อไปนี้คือตัวอย่างวิธีใช้เมธอด get_service
เพื่อเรียกข้อมูลอินสแตนซ์
ของไคลเอ็นต์ GoogleAdsService
from google.ads.googleads.client import GoogleAdsClient
# "load_from_storage" loads your API credentials from disk so they
# can be used for service initialization. Providing the optional `version`
# parameter means that the v17 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v17")
googleads_service = client.get_service("GoogleAdsService")
ตัวอย่างวิธีใช้เมธอด get_type
เพื่อเรียกข้อมูล
Campaign
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")
Enum
แม้ว่าคุณจะสามารถใช้เมธอด get_type
เพื่อเรียกข้อมูล Enum ได้
อินสแตนซ์ GoogleAdsClient
ยังมีแอตทริบิวต์ enums
แบบไดนามิก
โหลด Enum โดยใช้กลไกเดียวกับเมธอด get_type
อินเทอร์เฟซนี้
มีวัตถุประสงค์เพื่อให้อ่านง่ายขึ้นกว่าการใช้ get_type
:
client = GoogleAdsClient.load_from_storage(version=v17)
campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED
ฟิลด์ออบเจ็กต์ Proto ที่เป็น enum อาจแสดงใน Python โดยโฆษณาเนทีฟ
enum นั่นหมายความว่าคุณ
จึงสามารถอ่านคุณค่าของสมาชิกได้อย่างง่ายดาย การทำงานกับอินสแตนซ์ campaign
จากตัวอย่างก่อนหน้าในโมเดล Python
>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3
บางครั้งการทราบชื่อของฟิลด์ที่ตรงกับฟิลด์
ค่า enum ดังที่แสดงด้านบน คุณเข้าถึงข้อมูลนี้ได้โดยใช้ name
แอตทริบิวต์:
>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>
การโต้ตอบกับ enum จะแตกต่างกัน ขึ้นอยู่กับว่าคุณมี
use_proto_plus
กำหนดค่าเป็น true
หรือ false
โปรดดูรายละเอียดเกี่ยวกับอินเทอร์เฟซทั้ง 2 แบบที่หัวข้อ
เอกสารเกี่ยวกับข้อความ Protobuf
การกำหนดเวอร์ชัน
มีการบำรุงรักษา API หลายเวอร์ชันในเวลาเดียวกัน ขณะที่
v17
อาจเป็นเวอร์ชันล่าสุด แต่เวอร์ชันก่อนหน้ายังคงเป็น
เข้าชมได้จนถึงพระอาทิตย์ตก ไลบรารีจะมี Proto แยกต่างหาก
คลาสข้อความที่สอดคล้องกับ API เวอร์ชันที่ใช้งานอยู่แต่ละเวอร์ชัน วิธีเข้าถึงข้อความ
คลาสสำหรับเวอร์ชันที่เจาะจงจะแสดงพารามิเตอร์คีย์เวิร์ด version
เมื่อ
การเริ่มต้นไคลเอ็นต์เพื่อให้ส่งคืนอินสแตนซ์จาก
เวอร์ชัน:
client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v17/")
# The Campaign instance will be from the v17 version of the API.
campaign = client.get_type("Campaign")
ระบุเวอร์ชันเมื่อเรียกใช้ get_service
และ
get_type
วิธี การทำเช่นนี้จะลบล้างเวอร์ชันที่ระบุเมื่อ
กำลังเริ่มต้นไคลเอ็นต์:
client = GoogleAdsService.load_from_storage()
# This will load the v17 version of the GoogleAdsService.
googleads_service = client.get_service(
"GoogleAdsService", version="v17")
client = GoogleAdsService.load_from_storage(version="v17")
# This will load the v15 version of a Campaign.
campaign = client.get_type("Campaign", version="v15")
หากไม่ได้ระบุพารามิเตอร์คีย์เวิร์ด version
ไลบรารีจะใช้ค่าเริ่มต้นเป็น
เวอร์ชันล่าสุด รายการอัปเดตของเวอร์ชันล่าสุดและเวอร์ชันอื่นๆ ที่มีให้ใช้งาน
ได้ในส่วนการนำทางด้านซ้ายมือของ
เอกสารประกอบเอกสารอ้างอิง API