समस्या का हल

सबसे अनुभवी डेवलपर भी पहली कोशिश में शायद ही सही कोड लिख पाता हो. इसलिए, समस्या हल करना डेवलपमेंट प्रोसेस का एक अहम हिस्सा है. इस सेक्शन में, हम कुछ ऐसी तकनीकों के बारे में बताएंगे जिनसे आपको अपनी स्क्रिप्ट में गड़बड़ियों का पता लगाने, उन्हें समझने, और डीबग करने में मदद मिल सकती है.

गड़बड़ी के मैसेज

जब आपकी स्क्रिप्ट में कोई गड़बड़ी होती है, तो गड़बड़ी का मैसेज दिखता है. मैसेज के साथ एक लाइन नंबर होता है, जिसका इस्तेमाल समस्या हल करने के लिए किया जाता है. इस तरह से दो तरह की बुनियादी गड़बड़ियां दिखती हैं: सिंटैक्स की गड़बड़ियां और रनटाइम की गड़बड़ियां.

सिंटैक्स की गड़बड़ियां

सिंटैक्स गड़बड़ियां, ऐसा कोड लिखने की वजह से होती हैं जो JavaScript के व्याकरण के मुताबिक नहीं होता. स्क्रिप्ट को सेव करने के दौरान ही इन गड़बड़ियों का पता चलता है. उदाहरण के लिए, नीचे दिए गए कोड स्निपेट में सिंटैक्स से जुड़ी गड़बड़ी है:

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ";
  MailApp.sendEmail('john@example.com',
                    'Data in row ' + rowNumber,
                    rowData);
}

यहां सिंटैक्स की समस्या यह है कि चौथी पंक्ति के आखिर में ) वर्ण मौजूद नहीं है. स्क्रिप्ट सेव करने पर, आपको गड़बड़ी का यह मैसेज दिखेगा:

आर्ग्युमेंट की सूची के बाद ) मौजूद नहीं है. (चौथी लाइन)

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

रनटाइम से जुड़ी गड़बड़ियां

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

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ");
  MailApp.sendEmail('john',
                    'Data in row ' + rowNumber,
                    rowData);
}

कोड को सही तरीके से फ़ॉर्मैट किया गया है. हालांकि, MailApp.sendEmail को कॉल करते समय, हम ईमेल पते के लिए "john" वैल्यू पास कर रहे हैं. यह एक मान्य ईमेल पता नहीं है. इसलिए, स्क्रिप्ट चलाते समय यह गड़बड़ी दिखती है:

अमान्य ईमेल पता: john (लाइन 5)

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

आम तौर पर होने वाली गड़बड़ियां

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

सेवा का कई बार अनुरोध किया गया: <action name>

गड़बड़ी का यह मैसेज, किसी कार्रवाई के लिए आपके रोज़ के कोटे से ज़्यादा कार्रवाई करने पर दिखता है. उदाहरण के लिए, अगर एक दिन में बहुत ज़्यादा ईमेल भेजे जाते हैं, तो आपको यह गड़बड़ी दिख सकती है. कोटा, उपभोक्ता, डोमेन, और प्रीमियर खातों के लिए अलग-अलग लेवल पर सेट किए जाते हैं. Google, बिना कोई सूचना दिए किसी भी समय इनमें बदलाव कर सकता है. Apps Script के कोटा से जुड़े दस्तावेज़ में, अलग-अलग कार्रवाइयों के लिए कोटा की सीमाएं देखी जा सकती हैं.

सर्वर उपलब्ध नहीं है. या सर्वर से जुड़ी कोई गड़बड़ी हुई, कृपया फिर से कोशिश करें.

इन गड़बड़ियों की कुछ संभावित वजहें हो सकती हैं:

  • Google का कोई सर्वर या सिस्टम कुछ समय के लिए उपलब्ध नहीं है. कुछ देर इंतज़ार करें और स्क्रिप्ट को फिर से चलाने की कोशिश करें.
  • आपकी स्क्रिप्ट में कोई गड़बड़ी है, लेकिन उससे जुड़ा गड़बड़ी का मैसेज नहीं है. अपनी स्क्रिप्ट को डीबग करके देखें कि क्या समस्या को अलग किया जा सकता है.
  • Google Apps Script में एक गड़बड़ी है, जिसकी वजह से यह गड़बड़ी हो रही है. गड़बड़ी की रिपोर्ट खोजने और उन्हें दर्ज करने के बारे में निर्देश पाने के लिए, गड़बड़ियां लेख पढ़ें. कोई नया बग दर्ज करने से पहले, खोजें कि क्या इसकी शिकायत पहले ही की जा चुकी है.

इस कार्रवाई को करने के लिए अनुमति लेना ज़रूरी है.

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

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

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

  1. Apps Script प्रोजेक्ट की बाईं ओर, ट्रिगर पर क्लिक करें.
  2. आपको जिस ट्रिगर को हटाना है उसकी दाईं ओर, ज़्यादा > ट्रिगर मिटाएं पर क्लिक करें.

ऐड-ऑन को अनइंस्टॉल करके भी, समस्या वाले ऐड-ऑन ट्रिगर हटाए जा सकते हैं.

ऐक्सेस अस्वीकार किया गया: DriveApp या डोमेन की नीति की वजह से, तीसरे पक्ष के Drive ऐप्लिकेशन बंद कर दिए गए हैं

Google Workspace डोमेन के एडमिन के पास, अपने डोमेन के लिए Drive API को बंद करने का विकल्प होता है. इससे, उनके उपयोगकर्ता Google Drive ऐप्लिकेशन को इंस्टॉल और इस्तेमाल नहीं कर पाते. इस सेटिंग की वजह से, उपयोगकर्ता उन Apps Script ऐड-ऑन का इस्तेमाल नहीं कर पाते जो Drive की सेवा या Drive की ऐडवांस सेवा का इस्तेमाल करते हैं. भले ही, एडमिन ने Drive API को बंद करने से पहले स्क्रिप्ट को अनुमति दी हो.

हालांकि, अगर Drive की सेवा का इस्तेमाल करने वाला कोई ऐड-ऑन या वेब ऐप्लिकेशन, डोमेन में सभी जगह इंस्टॉल करने के लिए पब्लिश किया गया है और एडमिन ने उसे डोमेन के कुछ या सभी उपयोगकर्ताओं के लिए इंस्टॉल किया है, तो उन उपयोगकर्ताओं के लिए स्क्रिप्ट काम करती है. भले ही, डोमेन में Drive API बंद हो.

स्क्रिप्ट के पास, सक्रिय उपयोगकर्ता की पहचान पाने की अनुमति नहीं है.

इससे पता चलता है कि स्क्रिप्ट के लिए, चालू उपयोगकर्ता की पहचान और ईमेल उपलब्ध नहीं है. यह चेतावनी, Session.getActiveUser() को कॉल करने की वजह से दिखती है. अगर स्क्रिप्ट, AuthMode.FULL के अलावा किसी दूसरे अनुमति मोड में चल रही है, तो यह Session.getEffectiveUser() को कॉल करने की वजह से भी हो सकता है. अगर इस चेतावनी का सिग्नल मिलता है, तो User.getEmail() को बाद में किए जाने वाले कॉल सिर्फ़ "" दिखाते हैं.

इस चेतावनी से जुड़ी समस्या हल करने के कई तरीके हैं. ये तरीके, स्क्रिप्ट के अनुमति मोड के हिसाब से अलग-अलग होते हैं. ऑथराइज़ेशन मोड, ट्रिगर किए गए फ़ंक्शन में e इवेंट पैरामीटर की authMode प्रॉपर्टी के तौर पर दिखता है.

  • AuthMode.FULL में, इसके बजाय Session.getEffectiveUser() का इस्तेमाल करें.
  • AuthMode.LIMITED में जाकर, पक्का करें कि मालिक ने स्क्रिप्ट को अनुमति दी हो.
  • अनुमति देने के अन्य मोड में, इनमें से किसी भी तरीके का इस्तेमाल न करें.
  • अगर आप Google Workspace ग्राहक हैं और आपको इंस्टॉल किए जा सकने वाले ट्रिगर से यह चेतावनी मिली है, तो पक्का करें कि ट्रिगर आपके संगठन में उपयोगकर्ता के तौर पर चल रहा हो.

लाइब्रेरी मौजूद नहीं है

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

  • लाइब्रेरी के कोड को कॉपी करके अपनी स्क्रिप्ट में चिपकाएं और लाइब्रेरी डिपेंडेंसी हटाएं.
  • लाइब्रेरी स्क्रिप्ट को कॉपी करें और अपने खाते से लाइब्रेरी के तौर पर डिप्लॉय करें. अपनी मूल स्क्रिप्ट में, डिपेंडेंसी को सार्वजनिक लाइब्रेरी के बजाय, नई लाइब्रेरी में अपडेट करना न भूलें.

लाइब्रेरी वर्शन मौजूद न होने या मिटाए गए वर्शन पर डिप्लॉयमेंट की वजह से गड़बड़ी हुई. गड़बड़ी का कोड Not_Found

गड़बड़ी का यह मैसेज, इनमें से किसी एक समस्या की जानकारी देता है:

  • स्क्रिप्ट का डिप्लॉय किया गया वर्शन मिटा दिया गया है. अपनी स्क्रिप्ट के डिप्लॉय किए गए वर्शन को अपडेट करने के लिए, वर्शन वाले डिप्लॉयमेंट में बदलाव करना लेख पढ़ें.
  • स्क्रिप्ट में इस्तेमाल की गई लाइब्रेरी का वर्शन मिटा दिया गया है. यह देखने के लिए कि कौनसी लाइब्रेरी मौजूद नहीं है, लाइब्रेरी के नाम के बगल में, ज़्यादा > नए टैब में खोलें पर क्लिक करें. लाइब्रेरी मौजूद न होने पर, गड़बड़ी का मैसेज दिखता है. आपको जिस लाइब्रेरी को अपडेट करना है उसे ढूंढने के बाद, इनमें से कोई एक कार्रवाई करें:
  • आपकी स्क्रिप्ट में इस्तेमाल की गई लाइब्रेरी की स्क्रिप्ट में, एक और लाइब्रेरी शामिल है जो मिटाए गए वर्शन का इस्तेमाल करती है. इनमें से कोई एक कार्रवाई करें:
    • अगर आपके पास उस लाइब्रेरी में बदलाव करने का ऐक्सेस है जिसका इस्तेमाल आपकी स्क्रिप्ट करती है, तो उस स्क्रिप्ट में मौजूद सेकंडरी लाइब्रेरी को किसी मौजूदा वर्शन पर अपडेट करें.
    • किसी दूसरे वर्शन का इस्तेमाल करने के लिए, लाइब्रेरी को अपडेट करें. लाइब्रेरी अपडेट करना लेख पढ़ें.
    • स्क्रिप्ट प्रोजेक्ट और कोड से लाइब्रेरी हटाएं. किसी लाइब्रेरी को हटाना लेख पढ़ें.

गड़बड़ी 400: बेहतर सेवा के साथ Google Chat API को कॉल करते समय invalid_scope

अगर आपको गड़बड़ी का मैसेज Error 400: invalid_scope के साथ Some requested scopes cannot be shown दिखता है, तो इसका मतलब है कि आपने Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में अनुमति के दायरे की जानकारी नहीं दी है. ज़्यादातर मामलों में, Apps Script अपने-आप यह तय कर लेता है कि किसी स्क्रिप्ट को किन स्कोप की ज़रूरत है. हालांकि, Chat की बेहतर सेवा का इस्तेमाल करते समय, आपको मैन्युअल तरीके से अनुमति के ऐसे स्कोप जोड़ने होंगे जिनका इस्तेमाल आपकी स्क्रिप्ट, Apps Script प्रोजेक्ट की मेनिफ़ेस्ट फ़ाइल में करती है. साफ़ तौर पर दायरा सेट करना देखें.

गड़बड़ी को ठीक करने के लिए, oauthScopes कलेक्शन के हिस्से के तौर पर, Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में अनुमति के सही दायरे जोड़ें. उदाहरण के लिए, spaces.messages.create तरीका कॉल करने के लिए, यह जोड़ें:

"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]

आपके एडमिन ने, <URL> के लिए UrlFetch सेवा इस्तेमाल करने की अनुमति नहीं दी है

Google Workspace एडमिन, Admin console में अनुमति वाली सूची को चालू कर सकते हैं. इससे यह कंट्रोल किया जा सकता है कि Apps Script की मदद से किन बाहरी डोमेन को ऐक्सेस किया जा सकता है.

गड़बड़ी को ठीक करने के लिए, अपने एडमिन से संपर्क करें और उन्हें यूआरएल को अनुमति वाली सूची में जोड़ने के लिए कहें.

डीबग करना

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

लॉग इन हो रहा है

डीबग करते समय, स्क्रिप्ट प्रोजेक्ट के चलने के दौरान जानकारी रिकॉर्ड करना अक्सर मददगार होता है. Google Apps Script में जानकारी को लॉग करने के दो तरीके हैं: क्लाउड लॉगिंग सेवा और ज़्यादा बुनियादी लॉगर और कंसोल सेवाएं, जो Apps Script एडिटर में पहले से मौजूद होती हैं.

ज़्यादा जानकारी के लिए, लॉगिंग गाइड देखें.

रिपोर्ट करते समय गड़बड़ी हुई

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

गड़बड़ी की रिपोर्टिंग ऐक्सेस करने के लिए, Google Cloud Platform Console में क्लाउड लॉग और गड़बड़ी की रिपोर्ट देखें लेख पढ़ें.

कार्यान्वयन

जब भी कोई स्क्रिप्ट चलाई जाती है, तो Apps Script उसका रिकॉर्ड बनाता है. इसमें Cloud लॉग भी शामिल होते हैं. इन रिकॉर्ड की मदद से, यह समझा जा सकता है कि आपकी स्क्रिप्ट ने कौनसी कार्रवाइयां की हैं.

Apps Script प्रोजेक्ट में अपनी स्क्रिप्ट के रन होने की जानकारी देखने के लिए, बाईं ओर मौजूद रन पर क्लिक करें.

Apps Script सेवा की स्थिति देखना

हालांकि, ऐसा बहुत कम होता है, लेकिन कभी-कभी Google Workspace की कुछ सेवाओं (जैसे, Gmail या Drive) में कुछ समय के लिए समस्याएं आ सकती हैं. इनकी वजह से, सेवाएं कुछ समय के लिए बंद हो सकती हैं. ऐसा होने पर, हो सकता है कि इन सेवाओं के साथ इंटरैक्ट करने वाले Apps Script प्रोजेक्ट उम्मीद के मुताबिक काम न करें.

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

डीबगर और ब्रेकपॉइंट का इस्तेमाल करना

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

ब्रेकपॉइंट जोड़ना

ब्रेकपॉइंट जोड़ने के लिए, उस लाइन की नंबर पर कर्सर घुमाएं जिसमें आपको ब्रेकपॉइंट जोड़ना है. लाइन नंबर की बाईं ओर मौजूद सर्कल पर क्लिक करें. यहां दी गई इमेज में, स्क्रिप्ट में जोड़े गए ब्रेकपॉइंट का उदाहरण दिया गया है:

ब्रेकपॉइंट जोड़ना

डीबग मोड में स्क्रिप्ट चलाना

स्क्रिप्ट को डीबग मोड में चलाने के लिए, एडिटर में सबसे ऊपर मौजूद, डीबग करें पर क्लिक करें.

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

स्क्रिप्ट के चलने के तरीके को कंट्रोल करने के लिए, डीबगर पैनल में सबसे ऊपर, "Step in", "Step over", और "Step out" बटन का इस्तेमाल करें. इनकी मदद से, स्क्रिप्ट को एक बार में एक लाइन चलाया जा सकता है. साथ ही, यह भी देखा जा सकता है कि समय के साथ वैल्यू में क्या बदलाव होता है.

एक से ज़्यादा Google खातों में लॉग इन करने से जुड़ी समस्याएं

एक ही समय पर, एक से ज़्यादा Google खातों में लॉग इन करने पर, आपको अपने ऐड-ऑन और वेब ऐप्लिकेशन ऐक्सेस करने में समस्या हो सकती है. मल्टी-लॉगिन या एक ही समय पर, एक से ज़्यादा Google खातों में लॉग इन करने पर, Apps Script, ऐड-ऑन या वेब ऐप्लिकेशन का इस्तेमाल नहीं किया जा सकता.

  • एक से ज़्यादा खातों में लॉग इन रहने के दौरान, Apps Script एडिटर खोलने पर, Google आपको वह खाता चुनने के लिए कहता है जिसका इस्तेमाल करना है.

  • अगर कोई वेब ऐप्लिकेशन या ऐड-ऑन खोलने पर, आपको मल्टी-लॉगिन से जुड़ी समस्याएं आ रही हैं, तो इनमें से कोई एक तरीका आज़माएं:

    • अपने सभी Google खातों से लॉग आउट करें और सिर्फ़ उस खाते में लॉग इन करें जिसमें वह ऐड-ऑन या वेब ऐप्लिकेशन मौजूद है जिसे आपको ऐक्सेस करना है.
    • Google Chrome में गुप्त विंडो या निजी ब्राउज़िंग विंडो खोलें. इसके बाद, उस Google खाते में लॉग इन करें जिसमें वह ऐड-ऑन या वेब ऐप्लिकेशन मौजूद है जिसका आपको ऐक्सेस करना है.

सहायता पाना

ऊपर दिए गए टूल और तकनीकों का इस्तेमाल करके, कई तरह की समस्याओं को डीबग किया जा सकता है. हालांकि, आपको ऐसी समस्याएं भी मिल सकती हैं जिन्हें हल करने के लिए कुछ और मदद की ज़रूरत पड़े. सवाल पूछने और गड़बड़ियों की शिकायत करने के लिए, सहायता पेज पर जाएं.