जैसा कि एपीआई स्ट्रक्चर गाइड में बताया गया है, Google Ads API में हर टॉप-लेवल संसाधन में उससे जुड़ी संसाधन-टाइप के हिसाब से सेवा होती है, जो इन टूल के साथ काम करती है:
- संसाधन के इंस्टेंस में बदलाव करना
- जांच के लिए संसाधन का एक इंस्टेंस पाना
इस गाइड में, Campaign
ऑब्जेक्ट में बदलाव करने और उनकी जांच करने के बारे में बताने के लिए, CampaignService
का इस्तेमाल किया जाएगा. हालांकि, संसाधन-टाइप पर आधारित अन्य सभी सेवाओं पर भी यही सिद्धांत लागू होते हैं.
ऑब्जेक्ट बदलना
किसी खास संसाधन की तरह काम करने वाली हर सेवा में, mutate का एक तरीका होगा, जो बदले जाने के अनुरोध को स्वीकार करता है. इस अनुरोध में ये शामिल हैं:
- एक
customerId
- कार्रवाइयों का एक संग्रह
- रिस्पॉन्स कॉन्टेंट टाइप की सेटिंग, जो तय करती है कि बदलने के बाद, संसाधन के नाम या सिर्फ़ संसाधन के नाम में बदलाव किया जाना चाहिए या नहीं.
उदाहरण के लिए, CampaignService
वाला MutateCampaigns
तरीका, MutateCampaignsRequest
को स्वीकार करता है, जिसमें ये चीज़ें शामिल होती हैं:
- एक
customerId
CampaignOperation
ऑब्जेक्ट का कलेक्शनresponse_content_type
फ़ील्ड से पता चलता है कि रिस्पॉन्स किस तरह का है.
ऑपरेशंस
CampaignOperation
जैसे ऑपरेशन ऑब्जेक्ट की मदद से, किसी एक रिसॉर्स पर की जाने वाली कार्रवाई के बारे में बताने के लिए, operation
फ़ील्ड को सेट किया जा सकता है. यह फ़ील्ड एक oneof फ़ील्ड है. इसमें ये एट्रिब्यूट शामिल होते हैं जिनका टाइप इस तरह का होता है:
create
- संसाधन का एक नया इंस्टेंस बनाता है.
update
- संसाधन को अपडेट करता है, ताकि वह
update
संसाधन की विशेषताओं से मेल खा सके. इस फ़ील्ड को सेट करने पर, आपको कार्रवाई काupdate_mask
भी सेट करना होगा. इससे Google Ads API को यह पता चलता है कि अपडेट की कार्रवाई के दौरान किन एट्रिब्यूट में बदलाव करना है. हर क्लाइंट लाइब्रेरी में उपयोगिता या हेल्पर का एक तरीका होता है, जिससे आपके लिएupdate_mask
जनरेट होगा, जैसा कि हमारी क्लाइंट लाइब्रेरी में दिखाया गया है. remove
- संसाधन को हटा देता है.
operation
फ़ील्ड एक oneof
फ़ील्ड है, इसलिए एक से ज़्यादा ऑब्जेक्ट में बदलाव करने के लिए, किसी एक कार्रवाई का इस्तेमाल नहीं किया जा सकता. उदाहरण के लिए, अगर आपको एक कैंपेन बनाना है और दूसरा कैंपेन हटाना है, तो अपने अनुरोध में CampaignOperation
के दो इंस्टेंस जोड़ें: एक में create
सेट है और दूसरा remove
पर.
बैचिंग कार्रवाइयां
हालांकि, एक ही कार्रवाई के लिए या तो किसी एक संसाधन को ही बनाया जा सकता है, अपडेट किया जा सकता है या हटाया जा सकता है, लेकिन एक बदलाव के अनुरोध में कई कार्रवाइयां हो सकती हैं. आपको अपनी कार्रवाइयों को एक से ज़्यादा बदलाव के अनुरोध भेजने के बजाय एक ही बदलाव के अनुरोध में मिलाना चाहिए. हर कार्रवाई में सिर्फ़ एक कार्रवाई बदलने की ज़रूरत होती है.
उदाहरण के लिए, अगर आपको दस कैंपेन बनाने हैं, तो आपको एक एक MutateCampaignsRequest
भेजना होगा, जिसमें 10 CampaignOperation
ऑब्जेक्ट हों.
जवाबों को बदलना
जवाब में क्या दिखेगा, यह इस बात पर निर्भर करता है कि बदलाव के अनुरोध के response_content_type
में क्या भेजा गया था. उदाहरण के लिए, अगर MUTABLE_RESOURCE
बताया गया था, तो response में कैंपेन में सिर्फ़ बदले जा सकने वाले फ़ील्ड शामिल होंगे. उसके बाद उस रिसॉर्स ऑब्जेक्ट पर, उसे फिर से बनाए बिना फ़ॉलो-अप म्यूटेट
बनाए जा सकते हैं.
गड़बड़ियों को बदलना
बदलाव करने के दिए गए अनुरोध की कार्रवाइयां, आपके Google Ads खाते पर सिर्फ़ तब लागू होंगी, जब अनुरोध की हर कार्रवाई पूरी हो जाएगी. सामान्य गड़बड़ियों की सूची और उन्हें ठीक करने के तरीके जानने के लिए, गड़बड़ी की सामान्य गाइड देखें.
get वाले ऑब्जेक्ट की जांच करना (अब काम नहीं करता)
ऑब्जेक्ट बदलने के अलावा, हर तरह के संसाधन के लिए खास सेवा में एक एक संसाधन की सभी विशेषताओं को वापस पाने के लिए एक get तरीका भी होता है.
यह तरीका पाने के लिए ऐसे अनुरोध को स्वीकार करता है जिसका एट्रिब्यूट resource_name
है.
Google Ads API, 'पाने के तरीके' की सुविधा देता है. इसकी मदद से, किसी एक ऑब्जेक्ट के सभी एट्रिब्यूट आसानी से हासिल किए जा सकते हैं. यह एपीआई को सीखने या डीबग करने या शिक्षा के मकसद से किसी ऑब्जेक्ट की जांच करने के लिए
एक बेहतरीन टूल है. हालांकि, आपके ऐप्लिकेशन को किसी ऑब्जेक्ट को प्रोसेस
या रिपोर्ट करने के लिए, फ़ेच करने के तरीकों का इस्तेमाल
नहीं करना चाहिए. इसके बजाय, GoogleAdsService
का इस्तेमाल करें. इससे आपको ऑब्जेक्ट के सिर्फ़ खास एट्रिब्यूट वापस पाने की सुविधा मिलती है. साथ ही, यह परफ़ॉर्मेंस मेट्रिक को फिर से पाने में मदद करता है और बड़े नतीजे के सेट के ज़रिए स्ट्रीम करने की अनुमति देता है. अगर आपका ऐप्लिकेशन बड़ी संख्या में अनुरोध सबमिट करता है, तो आपको अनुरोध भेजने की दर की सीमाएं मिल सकती हैं.