कम्यूनिटी कनेक्टर में जोड़ी गई गड़बड़ियों और मैसेज को मैनेज करना

अच्छा उपयोगकर्ता अनुभव देने के लिए, आपके कोड को गड़बड़ियों को सही तरीके से हैंडल करना चाहिए. उपयोगकर्ताओं को कार्रवाई करने लायक गड़बड़ी का मैसेज दिखाएं, जिसमें समस्या को ठीक करने के तरीके बताए गए हों.

इस दस्तावेज़ में कनेक्टर की वजह से होने वाली गड़बड़ियों के बारे में जानकारी दी गई है. इसमें गड़बड़ी के मैसेज के काम करने के तरीके और कनेक्टर की गड़बड़ियों को ठीक से हल करने का तरीका भी बताया गया है.

जानकारी: JavaScript में अपवादों को मैनेज करने के बारे में ज़्यादा जानने के लिए, try...catch स्टेटमेंट देखें.

गड़बड़ियां किस तरह की हैं

आपके कनेक्टर का इस्तेमाल करते समय उपयोगकर्ताओं को किस तरह की गड़बड़ियों का सामना करना पड़ सकता है और उनकी वजहें इन तीन में से किसी एक कैटगरी में आती हैं:

  1. कनेक्टर में अंदरूनी गड़बड़ियां
  2. कनेक्टर की बाहरी गड़बड़ियां
  3. Looker Studio से जुड़ी गड़बड़ियां

कनेक्टर की आंतरिक और बाहरी गड़बड़ियों को कनेक्टर डेवलपर की मदद से हैंडल किया जाना चाहिए. ये गड़बड़ियां डेवलपर के बनाए गए कोड की वजह से होती हैं.

कनेक्टर में अंदरूनी गड़बड़ी

कनेक्टर का इस्तेमाल करने के दौरान कनेक्टर में गड़बड़ियां होती हैं. उदाहरण के लिए, अगर getData() चलाने के दौरान कोई कनेक्टर, एपीआई के रिस्पॉन्स को पार्स नहीं कर पाता. इन गड़बड़ियों का पहले से अनुमान लगाया जाना चाहिए. साथ ही, जहां भी लागू हो, उपयोगकर्ता के हिसाब से सही जानकारी की मदद से उन्हें ठीक किया जाना चाहिए.

कनेक्टर की अंदरूनी गड़बड़ियों को ठीक करने के बारे में ज़्यादा जानकारी के लिए, कनेक्टर की गड़बड़ियों को ठीक करने के सबसे सही तरीके देखें.

कनेक्टर में बाहरी गड़बड़ी

कनेक्टर का इस्तेमाल करने के बाद, कनेक्टर से जुड़ी बाहरी गड़बड़ियां होती हैं. उदाहरण के लिए, जब तीन फ़ील्ड के लिए getData() का अनुरोध करने पर, सिर्फ़ दो फ़ील्ड का डेटा दिखता है. कनेक्टर ने प्रोग्राम चलाने की प्रोसेस पूरी कर ली, लेकिन Looker Studio के अनुरोध पर यह प्रोसेस पूरी नहीं हुई. अच्छी तरह से जांच करने से, इन गड़बड़ियों को रोका जा सकता है.

कनेक्टर से जुड़ी बाहरी गड़बड़ियों को आम तौर पर गड़बड़ी की जानकारी (अगर उपलब्ध हो) की समीक्षा करके ठीक किया जा सकता है. इसके बाद, समस्या का पता लगाने के लिए कोड को डीबग किया जा सकता है. अपने कनेक्टर को डीबग करने के बारे में ज़्यादा जानकारी के लिए, अपना कोड डीबग करें देखें.

Looker Studio में कोई गड़बड़ी हुई

Looker Studio की गड़बड़ियां, आपके कनेक्टर कोड से जुड़ी नहीं होतीं. उदाहरण के लिए, अगर कोई उपयोगकर्ता, बिना तारीख/समय डाइमेंशन वाले डेटा सोर्स के साथ टाइम सीरीज़ चार्ट इस्तेमाल करने की कोशिश करता है.

अगर गड़बड़ी सीधे तौर पर कनेक्टर से जुड़ी नहीं है, तो कनेक्टर डेवलपर को कोई कार्रवाई करने की ज़रूरत नहीं होगी. उपयोगकर्ताओं को ज़्यादा मदद पाने के लिए, Looker Studio सहायता केंद्र पर जाएं.

गड़बड़ी के मैसेज दिखाए जा रहे हैं

एडमिन के स्टेटस के आधार पर, गड़बड़ी की जानकारी दिखाई जा रही है

जब कोई कनेक्टर गड़बड़ी दिखाता है, तो Looker Studio, उपयोगकर्ता के एडमिन स्टेटस के आधार पर गड़बड़ी का मैसेज दिखाता है.

  • अगर उपयोगकर्ता एडमिन उपयोगकर्ता है, तो उसे पूरी जानकारी दिखेगी. इसमें गड़बड़ी का मैसेज, गड़बड़ी का टाइप, और स्टैक ट्रेस शामिल हैं.
  • अगर उपयोगकर्ता एडमिन नहीं है, तो उसे जानकारी सिर्फ़ तब दिखेगी, जब गड़बड़ी में उपयोगकर्ता के लिए आसान मैसेज शामिल हो. गैर-एडमिन उपयोगकर्ताओं को गड़बड़ी के मैसेज दिखाने के बारे में ज़्यादा जानने के लिए, उपयोगकर्ताओं को दिखने वाले गड़बड़ी के मैसेज देखें.

थ्रोइंग यूज़र को सामने आने वाली गड़बड़ियां

डिफ़ॉल्ट रूप से, सिर्फ़ कनेक्टर एडमिन को गड़बड़ी की जानकारी दिखती है. इससे संवेदनशील जानकारी को अनजाने में ज़ाहिर करने से रोकने में मदद मिलती है. जैसे, स्टैक ट्रेस में एपीआई पासकोड. गैर-एडमिन उपयोगकर्ताओं को गड़बड़ी के मैसेज दिखाने के लिए, Looker Studio Apps Script सेवा की newUserError() का इस्तेमाल करें.

उदाहरण:

try {
  // API request that can be malformed.
  getDataFromAPI();
} catch (e) {
  DataStudioApp.createCommunityConnector()
      .newUserError()
      .setDebugText('Error fetching data from API. Exception details: ' + e)
      .setText('There was an error communicating with the service. Try again later, or file an issue if this error persists.')
      .throwException();

}

इस उदाहरण में, setText() वह टेक्स्ट सेट करता है जो सभी उपयोगकर्ताओं को दिखेगा. जबकि setDebugText() वह टेक्स्ट सेट करता है जो सिर्फ़ एडमिन उपयोगकर्ताओं को दिखेगा.

कनेक्टर की गड़बड़ियों को ठीक करने के सबसे सही तरीके

अपने कनेक्टर कोड के काम करने के दौरान, आपको ज़्यादा से ज़्यादा गड़बड़ियों को पकने और उन्हें ठीक करने की कोशिश करनी चाहिए. उदाहरण के लिए, कुछ ऐसे सामान्य कामकाज जिनकी वजह से गड़बड़ियां हो सकती हैं या कोई अनचाहा स्थिति पैदा हो सकती है, उनमें ये शामिल हैं:

  • यूआरएल फ़ेच नहीं किया जा सका (कुछ समय के लिए गड़बड़ियां, टाइम आउट)
  • अनुरोध की गई समयावधि का कोई डेटा उपलब्ध नहीं है
  • एपीआई के डेटा को पार्स या फ़ॉर्मैट नहीं किया जा सकता
  • अनुमति देने वाले टोकन रद्द कर दिए गए हैं

वापस पाई जा सकने वाली गड़बड़ियों को ठीक करना

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

कैच और थ्रो से जुड़ी गड़बड़ियां

ठीक न की जा सकने वाली गड़बड़ियों को पहचाना जाना चाहिए और उन्हें फिर से फेंकना चाहिए. फिर से डाली गई गड़बड़ी से उपयोगकर्ताओं को गड़बड़ी होने की वजह समझने में मदद मिलनी चाहिए. अगर यह समस्या ठीक होती है तो सुधार की कार्रवाई का ब्यौरा देना चाहिए.

उपयोगकर्ताओं को आने वाली गड़बड़ियां देखें.

स्टैकड्राइवर में गड़बड़ियों को लॉग करें

गड़बड़ियों और दूसरे मैसेज को लॉग करने के लिए स्टैकड्राइवर का इस्तेमाल करें. इससे गड़बड़ियों को समझने, समस्याओं को डीबग करने, और हैंडल नहीं किए गए अपवादों को खोजने में मदद मिलती है.

स्टैकड्राइवर गड़बड़ी रिपोर्टिंग के बारे में ज़्यादा जानने के लिए, स्क्रिप्ट के लिए अपवाद को लॉग करने की सुविधा चालू करने का तरीका और डीबग करने के लिए उपयोगकर्ताओं की सुरक्षित रूप से पहचान करने का तरीका जानने के लिए स्टैकड्राइवर लॉगिंग का इस्तेमाल करना देखें.

रोका गया: गड़बड़ी के सुरक्षित मैसेज के लिए, DS_USER: प्रीफ़िक्स का इस्तेमाल करें

एडमिन के अलावा, अन्य उपयोगकर्ताओं को गड़बड़ी के मैसेज देने के लिए, गड़बड़ी के मैसेज के साथ DS_USER: प्रीफ़िक्स शामिल करें. इस प्रीफ़िक्स का इस्तेमाल, गैर-एडमिन उपयोगकर्ताओं के लिए सुरक्षित मैसेज की पहचान करने के लिए किया जाता है. इसे गड़बड़ी के असल मैसेज में शामिल नहीं किया जाता.

नीचे दिए गए उदाहरणों में एक ऐसा मामला शामिल है जिसमें एडमिन के अलावा किसी और उपयोगकर्ता को गड़बड़ी का मैसेज दिखेगा. इसके अलावा, यहां गड़बड़ी का मैसेज सिर्फ़ एडमिन के उपयोगकर्ताओं को दिखेगा:

data-studio/errors.gs
// Admin and non-admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('DS_USER:This will be shown to admin & non-admin.');
}

// Only admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('This message will only be shown to admin users');
}