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

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