सेवा और टाइप पाने वाले

एपीआई का इस्तेमाल करने के लिए, ज़रूरी अलग-अलग प्रोटो क्लास के रेफ़रंस फ़ेच किए जा रहे हैं 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/. वर्शन डायरेक्ट्री के नीचे दिए गए सभी कोड जनरेट होते हैं, इसलिए यह सीधे ऑब्जेक्ट को इंपोर्ट करने के बजाय इन तरीकों का इस्तेमाल करें, अगर कोड बेस की बनावट में बदलाव होता है.

यहां दिए गए उदाहरण में किसी इंस्टेंस को वापस पाने के लिए, 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")

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 टाइप का इस्तेमाल करें. इसका मतलब है कि सदस्य की वैल्यू आसानी से पढ़ सकते हैं. campaign इंस्टेंस के साथ काम करना Python repl में पिछले उदाहरण से:

>>> 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'>

ईनम के साथ इंटरैक्ट करना इस बात पर निर्भर करता है कि आपके पास 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 कीवर्ड पैरामीटर नहीं दिया गया है, तो लाइब्रेरी डिफ़ॉल्ट रूप से सबसे नया वर्शन है. नए और अन्य उपलब्ध वर्शन की अपडेट की गई सूची के बाईं ओर के नेविगेशन सेक्शन में एपीआई के रेफ़रंस से जुड़ा दस्तावेज़.