ऑब्जेक्ट बदलना और उनकी जांच करना

एपीआई के स्ट्रक्चर की गाइड में बताया गया है कि 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 सेट के साथ.

एक साथ कई कार्रवाइयां करना

हालांकि, एक कार्रवाई से सिर्फ़ एक संसाधन बनाया, अपडेट या हटाया जा सकता है, लेकिन एक ही बदलाव के अनुरोध में कई कार्रवाइयां हो सकती हैं. आपको एक से ज़्यादा बदलाव करने के अनुरोध भेजने के बजाय, अपने सभी बदलावों को एक ही बदलाव करने के अनुरोध में जोड़ना चाहिए.

उदाहरण के लिए, अगर आपको 10 कैंपेन बनाने हैं, तो आपको एक MutateCampaignsRequest भेजना चाहिए, जिसमें 10 CampaignOperation ऑब्जेक्ट हों.

जवाबों में बदलाव करना

जवाब में क्या दिखेगा, यह इस बात पर निर्भर करता है कि आपने बदलाव के अनुरोध के response_content_type में क्या भेजा है. उदाहरण के लिए, अगर MUTABLE_RESOURCE तय किया गया था, तो जवाब में कैंपेन के सिर्फ़ ऐसे फ़ील्ड शामिल होंगे जिन्हें बदला जा सकता है. इसके बाद, उस संसाधन ऑब्जेक्ट को फिर से बनाने के बिना, उस पर फ़ॉलो-अप म्यूटेशन किए जा सकते हैं.

बदलाव करने से जुड़ी गड़बड़ियां

किसी दिए गए बदलाव के अनुरोध में मौजूद कार्रवाइयां, आपके Google Ads खाते पर सिर्फ़ तब लागू होंगी, जब अनुरोध में मौजूद हर कार्रवाई पूरी हो जाए. सामान्य गड़बड़ियों की सूची और उन्हें ठीक करने का तरीका जानने के लिए, सामान्य गड़बड़ियों की गाइड देखें.

get फ़ंक्शन की मदद से ऑब्जेक्ट की जांच करना (अब काम नहीं करता)

ऑब्जेक्ट बदलने के अलावा, हर संसाधन टाइप के हिसाब से बनी सेवा में, एक संसाधन के सभी एट्रिब्यूट को वापस पाने के लिए get तरीका भी होता है. यह तरीका, सिर्फ़ resource_name एट्रिब्यूट वाले GET अनुरोध को स्वीकार करता है.

Google Ads API, किसी एक ऑब्जेक्ट के सभी एट्रिब्यूट को पाने के लिए, 'get' तरीके उपलब्ध कराता है. एपीआई के बारे में जानने या डीबग करने या शिक्षा के मकसद से किसी ऑब्जेक्ट की जांच करने के लिए, यह एक बेहतरीन टूल है. हालांकि, आपके ऐप्लिकेशन को प्रोसेस करने या रिपोर्ट करने के लिए, ऑब्जेक्ट को वापस पाने के लिए get तरीकों का इस्तेमाल नहीं करना चाहिए. इसके बजाय, GoogleAdsService का इस्तेमाल करें. इससे आपको ऑब्जेक्ट के सिर्फ़ कुछ एट्रिब्यूट को फिर से पाने में मदद मिलती है. साथ ही, परफ़ॉर्मेंस मेट्रिक को फिर से पाने और बड़े नतीजों के सेट के ज़रिए स्ट्रीम करने की सुविधा मिलती है. अगर आपका ऐप्लिकेशन बहुत ज़्यादा संख्या में 'प्रॉपर्टी पाएं' अनुरोध सबमिट करता है, तो आपको अनुरोध की दर से जुड़ी सीमाएं दिख सकती हैं.