समस्या का हल

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

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

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

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

सिंटैक्स गड़बड़ियां, ऐसा कोड लिखने की वजह से होती हैं जो 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);
}

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

तर्क सूची के बाद लापता ). (पंक्ति 4)

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

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

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

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

अगर आपको गड़बड़ी का मैसेज Some requested scopes cannot be shown के साथ Error 400: invalid_scope दिखता है, तो इसका मतलब है कि आपने 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 एक्ज़ीक्यूशन का रिकॉर्ड बनाती है. इसमें क्लाउड लॉग भी शामिल होते हैं. इन रिकॉर्ड की मदद से, यह समझा जा सकता है कि आपकी स्क्रिप्ट ने कौनसी कार्रवाइयां की हैं.

Apps Script प्रोजेक्ट में, स्क्रिप्ट को लागू करने की प्रोसेस देखने के लिए, बाईं ओर लागू की गई कार्रवाइयां पर क्लिक करें.

Apps Script सेवा की स्थिति की जांच करना

हालांकि, ऐसा बहुत कम होता है. हालांकि, Gmail या Drive जैसी Google Workspace की कुछ खास सेवाओं में कुछ समय के लिए समस्याएं आती हैं. इसकी वजह से, सेवा कुछ समय के लिए बंद हो सकती है. ऐसा होने पर, हो सकता है कि इन सेवाओं के साथ इंटरैक्ट करने वाले 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 खाते में लॉग इन करें जिसमें वह ऐड-ऑन या वेब ऐप्लिकेशन मौजूद है जिसे आपको ऐक्सेस करना है.

सहायता पाना

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