Python में एपीआई का इस्तेमाल करने के लिए ज़रूरी सभी अलग-अलग प्रोटो क्लास के रेफ़रंस फ़ेच किए जा सकते हैं. इसके लिए, आपको एपीआई की अंदरूनी समझ या प्रोटो या दस्तावेज़ का रेफ़रंस लेने के लिए बार-बार कॉन्टेक्स्ट स्विच करने की ज़रूरत होती है.
क्लाइंट के get_service
और get_type
तरीके
इन दो गैटर तरीकों की मदद से, एपीआई में किसी भी सेवा को वापस पाया जा सकता है या ऑब्जेक्ट टाइप किया जा सकता है. get_service
तरीके का इस्तेमाल, सेवा क्लाइंट को वापस पाने के लिए किया जाता है. get_type
का इस्तेमाल किसी दूसरे ऑब्जेक्ट के लिए किया जाता है. सर्विस क्लाइंट क्लास, वर्शन पाथ google/ads/googleads/v*/services/services/
में कोड में तय की जाती हैं. साथ ही, सभी टाइप, अलग-अलग ऑब्जेक्ट कैटगरी google/ads/googleads/v*/common|enums|errors|resources|services/types/
के तहत तय किए जाते हैं.
वर्शन डायरेक्ट्री के नीचे मौजूद सभी कोड जनरेट होते हैं. इसलिए, कोड बेस के स्ट्रक्चर में बदलाव होने पर, ऑब्जेक्ट को सीधे इंपोर्ट करने के बजाय इन तरीकों का इस्तेमाल करना सबसे सही तरीका है.
GoogleAdsService
क्लाइंट के इंस्टेंस को वापस पाने के लिए, get_service
तरीके का इस्तेमाल करने का तरीका यहां दिया गया है.
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")
यहां दिए गए उदाहरण में, Campaign
इंस्टेंस को वापस पाने के लिए, get_type
तरीके का इस्तेमाल करने का तरीका बताया गया है.
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")
Enums
Enums पाने के लिए get_type
तरीके का इस्तेमाल किया जा सकता है. हालांकि, हर GoogleAdsClient
इंस्टेंस में एक enums
एट्रिब्यूट भी होता है, जो get_type
वाले तरीके का इस्तेमाल करके, Enums को डाइनैमिक तौर पर लोड करता है. यह इंटरफ़ेस get_type
इस्तेमाल करने के बजाय, पढ़ने में आसान और आसान बनाया गया है:
client = GoogleAdsClient.load_from_storage(version=v17)
campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED
ईनम वाले प्रोटो ऑब्जेक्ट फ़ील्ड को Python में, नेटिव enum टाइप से दिखाया जाता है. इसका मतलब है कि उस सदस्य की वैल्यू
आसानी से पढ़ी जा सकती है. Python repl में पिछले उदाहरण से
campaign
इंस्टेंस के साथ काम करना:
>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3
कभी-कभी इस तरह के फ़ील्ड का नाम जानना मददगार होता है जो एनम वैल्यू से मेल खाता हो. इस जानकारी को ऐक्सेस करने के लिए, name
एट्रिब्यूट का इस्तेमाल करें:
>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>
ईनम के साथ इंटरैक्ट करना, इस बात पर निर्भर करता है कि आपने use_proto_plus
कॉन्फ़िगरेशन को true
पर सेट किया है या false
पर. दो इंटरफ़ेस के बारे में जानकारी के लिए, प्रोटोबफ़ मैसेज दस्तावेज़ देखें.
वर्शन
एक ही समय पर, इस एपीआई के कई वर्शन मैनेज किए जाते हैं. हालांकि, v17
सबसे नया वर्शन हो सकता है, लेकिन इसके बंद होने तक पुराने वर्शन ऐक्सेस किए जा सकेंगे. लाइब्रेरी में हर चालू एपीआई वर्शन से जुड़ी अलग-अलग प्रोटो
मैसेज क्लास शामिल होंगी. किसी खास वर्शन के लिए मैसेज क्लास को ऐक्सेस करने के लिए, क्लाइंट को शुरू करते समय 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
कीवर्ड पैरामीटर नहीं दिया जाता है, तो लाइब्रेरी डिफ़ॉल्ट रूप से सबसे नए वर्शन का इस्तेमाल करेगी. नए और अन्य उपलब्ध वर्शन की अपडेट की गई सूची, एपीआई के संदर्भ दस्तावेज़ के बाईं ओर दिए गए नेविगेशन सेक्शन में मिल सकती है.