गड़बड़ियां, गलत एनवायरमेंट सेटअप करने, आपके सॉफ़्टवेयर में मौजूद किसी बग या उपयोगकर्ता के अमान्य इनपुट की वजह से हो सकती हैं. सोर्स कोई भी हो, आपको समस्या हल करनी होगी. इसके लिए, आपको अपने कोड में बदलाव करना होगा या उपयोगकर्ता की गड़बड़ी को ठीक करने के लिए लॉजिक जोड़ना होगा. इस गाइड में, Google Ads API से जुड़ी गड़बड़ियों को ठीक करने के कुछ सबसे सही तरीकों के बारे में बताया गया है.
कनेक्टिविटी की पुष्टि करना
पक्का करें कि आपके पास Google Ads API का ऐक्सेस हो और आपने इसे सही तरीके से सेट अप किया हो. अगर आपके जवाब में कोई एचटीटीपी गड़बड़ी दिखती है, तो पक्का करें कि आपने उसे ठीक कर लिया हो. साथ ही, यह भी पक्का करें कि आपका कोड उन सेवाओं तक पहुंच रहा हो जिनका आपको इस्तेमाल करना है.
आपकी पहचान की पुष्टि करने के लिए, आपके क्रेडेंशियल को अनुरोध में शामिल किया जाता है. Google Ads API के अनुरोधों और जवाबों के स्ट्रक्चर के बारे में जानें. खास तौर पर, अगर आपको क्लाइंट लाइब्रेरी का इस्तेमाल किए बिना कॉल मैनेज करने हैं. हर क्लाइंट लाइब्रेरी के साथ, कॉन्फ़िगरेशन फ़ाइल में अपने क्रेडेंशियल शामिल करने के बारे में खास निर्देश दिए जाते हैं. इसके लिए, क्लाइंट लाइब्रेरी का README देखें.
पुष्टि करें कि आपने सही क्रेडेंशियल का इस्तेमाल किया है. हमारी आसानी से सीखें गाइड में, आपको ज़रूरी सेट पाने की प्रोसेस के बारे में बताया गया है. उदाहरण के लिए, जवाब नहीं मिलने की इस वजह से पता चलता है कि उपयोगकर्ता ने पुष्टि करने के लिए अमान्य क्रेडेंशियल भेजे हैं:
{ "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. Visit https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "Authentication error: 2" } ] } }
अगर आपने यह तरीका अपना लिया है और अब भी आपको समस्याएं आ रही हैं, तो अब Google Ads API से जुड़ी गड़बड़ियों को ठीक करने का समय है.
समस्या का पता लगाना
Google Ads API, आम तौर पर गड़बड़ियों की जानकारी JSON फ़ेलियर ऑब्जेक्ट के तौर पर देता है. इसमें रिस्पॉन्स में हुई गड़बड़ियों की सूची होती है. ये ऑब्जेक्ट, गड़बड़ी का कोड और गड़बड़ी होने की वजह के बारे में जानकारी देने वाला मैसेज दिखाते हैं. ये समस्याएं, इस बात के शुरुआती सिग्नल होती हैं कि समस्या क्या हो सकती है.
{
"errors": [
{
"errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
"message": "The field mask contained an invalid field: 'keyword.match_type'.",
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 1 }
]
}
}
]
}
हमारी सभी क्लाइंट लाइब्रेरी ऐसे अपवाद देती हैं जिनमें रिस्पॉन्स में हुई गड़बड़ियों के बारे में जानकारी होती है. इन अपवादों को कैप्चर करना और लॉग या समस्या हल करने वाली स्क्रीन में मैसेज प्रिंट करना, शुरुआत करने का एक बेहतरीन तरीका है. इस जानकारी को अपने ऐप्लिकेशन में लॉग किए गए अन्य इवेंट के साथ इंटिग्रेट करने से, यह पता चलता है कि समस्या किस वजह से हो रही है. लॉग में गड़बड़ी का पता लगाने के बाद, आपको यह पता लगाना होगा कि इसका क्या मतलब है.
गड़बड़ी के बारे में रिसर्च करना
हमारे सामान्य गड़बड़ियां दस्तावेज़ देखें. इसमें अक्सर होने वाली गड़बड़ियों के बारे में बताया गया है. इसमें गड़बड़ी के मैसेज, काम के एपीआई रेफ़रंस, और गड़बड़ी से बचने या उसे ठीक करने का तरीका बताया गया है.
अगर गड़बड़ियों से जुड़े हमारे दस्तावेज़ में, गड़बड़ी के बारे में खास तौर पर नहीं बताया गया है, तो रेफ़रंस दस्तावेज़ देखें. साथ ही, गड़बड़ी वाली स्ट्रिंग ढूंढें.
हमारे सहायता चैनलों पर जाकर, उन अन्य डेवलपर से संपर्क करें जिन्होंने एपीआई इस्तेमाल करने से जुड़े अपने अनुभव शेयर किए हैं. ऐसा हो सकता है कि किसी और व्यक्ति को भी वही समस्या आ रही हो जो आपको आ रही है. साथ ही, उसने उस समस्या को हल कर लिया हो.
मान्य होने या खाते की सीमा से जुड़ी समस्याओं को हल करने के लिए, Google Ads सहायता केंद्र पर जाएं. Google Ads API, Google Ads के मुख्य प्रॉडक्ट के नियमों और सीमाओं का पालन करता है.
अपने आवेदन से जुड़ी समस्या हल करने के लिए, ब्लॉग पोस्ट कभी-कभी एक अच्छा रेफ़रंस हो सकती हैं.
अगर आपको ऐसी कोई गड़बड़ी मिलती है जिसके बारे में दस्तावेज़ में नहीं बताया गया है, तो सहायता टीम से संपर्क करें.
गड़बड़ी के बारे में रिसर्च करने के बाद, अब इसकी मुख्य वजह का पता लगाने का समय है.
समस्या की वजह का पता लगाना
गड़बड़ी की वजह जानने के लिए, अपवाद वाला मैसेज देखें. जवाब देखने के बाद, अनुरोध की जांच करें. इससे आपको समस्या की वजह पता चल सकती है. Google Ads API से जुड़ी कुछ गड़बड़ियों के मैसेज में, GoogleAdsError के location फ़ील्ड में fieldPathElements शामिल होता है. इससे पता चलता है कि अनुरोध में गड़बड़ी कहां हुई है. उदाहरण के लिए:
{
"errors": [
{
"errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
"message": "Criteria type can not be targeted.",
"trigger": { "stringValue": "" },
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 0 },
{ "fieldName": "create" },
{ "fieldName": "keyword" }
]
}
}
]
}
किसी समस्या को हल करते समय, आपको पता चल सकता है कि आपका ऐप्लिकेशन, एपीआई को गलत जानकारी दे रहा है. हमारा सुझाव है कि आप इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) डीबगर का इस्तेमाल करें. इससे ब्रेकपॉइंट सेट करने, अपने कोड को लाइन-दर-लाइन देखने, और अनुरोध के पेलोड को भेजने से पहले उनकी जांच करने में मदद मिलती है.
दोबारा जांच करके पक्का करें कि अनुरोध में दी गई जानकारी, आपके आवेदन में दी गई जानकारी से मेल खाती हो. उदाहरण के लिए, ऐसा हो सकता है कि कैंपेन का नाम अनुरोध में शामिल न हो. पक्का करें कि आपने ऐसा फ़ील्ड मास्क भेजा हो जो उन अपडेट से मेल खाता हो जिन्हें आपको करना है. Google Ads API, स्पार्स अपडेट के साथ काम करता है. बदलाव करने के अनुरोध में फ़ील्ड मास्क से किसी फ़ील्ड को हटाने का मतलब है कि एपीआई को उसे नहीं बदलना चाहिए. अगर आपका ऐप्लिकेशन किसी ऑब्जेक्ट को वापस लाता है, उसमें बदलाव करता है, और उसे वापस भेजता है, तो हो सकता है कि आप ऐसे फ़ील्ड में लिख रहे हों जिसे अपडेट नहीं किया जा सकता. रेफ़रंस दस्तावेज़ में जाकर, फ़ील्ड का ब्यौरा देखें. इससे आपको पता चलेगा कि फ़ील्ड को कब अपडेट किया जा सकता है या अपडेट करने से जुड़ी कोई पाबंदी तो नहीं है.
सहायता कैसे मिल सकती है
ऐसा हो सकता है कि आप समस्या का पता न लगा पाएं और उसे ठीक न कर पाएं. मदद पाने के लिए, सहायता टीम से संपर्क करें.
अपनी क्वेरी में ज़्यादा से ज़्यादा जानकारी शामिल करें. सुझाए गए आइटम में ये शामिल हैं:
- सफाई किया गया JSON अनुरोध और जवाब. पक्का करें कि आपने संवेदनशील जानकारी हटा दी हो. जैसे, OAuth ऐक्सेस टोकन, रीफ़्रेश टोकन, डेवलपर टोकन (अगर अब भी लेगसी अनुरोध हेडर में शामिल है) और ग्राहक आईडी.
- कोड स्निपेट. अगर आपको किसी भाषा से जुड़ी समस्या आ रही है या एपीआई का इस्तेमाल करने के लिए मदद चाहिए, तो कोड का एक स्निपेट शामिल करें. इससे हमें यह समझने में मदद मिलेगी कि आपको किस तरह की समस्या आ रही है.
request-id. इससे Google Developer Relations टीम के सदस्यों को, प्रोडक्शन एनवायरमेंट के ख़िलाफ़ किए गए आपके अनुरोध का पता लगाने में मदद मिलती है. हमारा सुझाव है कि जवाब के हेडर में शामिलrequest-idया जवाब की गड़बड़ियों को शामिल करने वाले अपवादों को लॉग करें. साथ ही, सिर्फ़request-idके मुकाबले ज़्यादा कॉन्टेक्स्ट लॉग करें.- समस्या हल करते समय, रनटाइम या इंटरप्रेटर वर्शन और प्लैटफ़ॉर्म जैसी अतिरिक्त जानकारी भी काम आ सकती है.
समस्या ठीक करें
अब जब आपको समस्या का पता चल गया है और आपने उसका समाधान ढूंढ लिया है, तो अब बदलाव करने का समय आ गया है. इसके बाद, टेस्ट खाते (सुझाया गया) या प्रोडक्शन खाते में बदलाव को आज़माएं. अगर गड़बड़ी सिर्फ़ किसी प्रोडक्शन खाते के डेटा पर लागू होती है, तो प्रोडक्शन खाते में बदलाव को आज़माएं.
अगले चरण
अब जब आपने इस समस्या को हल कर लिया है, तो क्या आपको अपने कोड को बेहतर बनाने के कुछ तरीके मिले, ताकि यह समस्या दोबारा न हो?
यूनिट टेस्ट का अच्छा सेट बनाने से, कोड की क्वालिटी और भरोसेमंदता को काफ़ी हद तक बेहतर बनाने में मदद मिलती है. इससे नए बदलावों को टेस्ट करने की प्रोसेस भी तेज़ हो जाती है. इससे यह पक्का किया जा सकता है कि नए बदलावों की वजह से, पिछली सुविधाएं काम करना बंद न कर दें. समस्या हल करने के लिए ज़रूरी डेटा दिखाने में, गड़बड़ी ठीक करने की अच्छी रणनीति भी अहम भूमिका निभाती है.