Google Forms के लिए Google Apps Script: शुरुआती लोगों की गाइड
त्वरित उत्तर: Google Apps Script, Forms, Sheets, और अन्य Workspace ऐप्स को स्वचालित करने के लिए Google का मुफ़्त, बिल्ट-इन JavaScript प्लेटफ़ॉर्म है। यह वह तरीका है जिससे लोग वे चीज़ें जोड़ते हैं जो Forms मूल रूप से नहीं करता — जैसे हर सबमिशन पर मालिक को ईमेल करना, प्रतिक्रियाओं को अपने आप सीमित करना, या PDF पुष्टिकरण बनाना। इसके लिए बुनियादी कोडिंग ज्ञान चाहिए होता है, जो इसकी असली प्रवेश बाधा है।
Google Forms जानबूझकर सरल है, जिसका मतलब है कि कई सामान्य अनुरोध — "जब कोई सबमिट करे तो मुझे ईमेल करें," "50 के बाद प्रतिक्रियाएं स्वीकार करना बंद करें," "इस फील्ड को उस तरह वैलिडेट करें जो Forms सपोर्ट नहीं करता" — बॉक्स से बाहर हैंडल नहीं होते। Google Apps Script वह टूल है जो Google आपको उस अंतर को खुद भरने के लिए देता है, मुफ़्त में, Google इकोसिस्टम छोड़े बिना। यह गाइड बताती है कि यह क्या है, यह आपके फॉर्म के लिए वास्तव में क्या कर सकता है, यह कैसे संरचित है इसका एक सरल उदाहरण, और यह वास्तव में किसके लिए है।
Google Apps Script क्या है?
Apps Script, Google का बिल्ट-इन स्क्रिप्टिंग प्लेटफ़ॉर्म है, JavaScript पर आधारित, जो आपको छोटे प्रोग्राम लिखने देता है जो Google Workspace ऐप्स — Forms, Sheets, Docs, Gmail, Calendar, और अधिक — के साथ इंटरैक्ट करते हैं। यह पूरी तरह Google के सर्वर पर चलता है, इसलिए इंस्टॉल करने के लिए कुछ नहीं है और मैनेज करने के लिए कोई अलग होस्टिंग नहीं है। आप इसे दो में से एक जगह से एक्सेस करते हैं: अपने फॉर्म के तीन-बिंदु मेन्यू से, Script editor चुनें, या लिंक की गई Google Sheet खोलें और Extensions > Apps Script पर जाएं। दोनों रास्ते एक जैसा एडिटर खोलते हैं, हालांकि फॉर्म बनाम शीट से जुड़ी स्क्रिप्ट का शुरुआती संदर्भ थोड़ा अलग होता है।
Apps Script आपको क्या करने देता है जो Forms मूल रूप से नहीं देता
- हर नए सबमिशन पर फॉर्म मालिक को ऑटो-ईमेल करना। इसके लिए Google Forms में कोई नेटिव सूचना सेटिंग नहीं है — सबसे करीबी बिल्ट-इन विकल्प नई प्रतिक्रियाओं का एक समय-समय पर आने वाला ईमेल डाइजेस्ट है, तुरंत वाला नहीं। Apps Script प्रतिक्रिया आते ही एक ईमेल भेज सकता है, जो सपोर्ट अनुरोध या तत्काल साइन-अप जैसे समय-संवेदनशील फॉर्म के लिए मायने रखता है। अगर आप यह समस्या हल कर रहे हैं कि आपको प्रतिक्रियाओं के बारे में बिल्कुल भी सूचना क्यों नहीं मिल रही, तो वह एक संबंधित लेकिन अलग समस्या है — हमारी Google Forms प्रतिक्रियाएं स्वीकार नहीं कर रहा गाइड देखें।
- दिन या गिनती के हिसाब से प्रतिक्रियाओं को ऑटो-सीमित करना। थर्ड-पार्टी "प्रतिक्रिया सीमक" ऐड-ऑन जो फॉर्म को, मान लीजिए, 50 सबमिशन तक सीमित करते हैं या किसी तारीख के बाद बंद करते हैं, वे खुद आमतौर पर Apps Script ट्रिगर पर बने होते हैं जो प्रतिक्रिया गिनती या तारीख जांचते हैं और फॉर्म को प्रोग्रामेटिक रूप से बंद करते हैं। हमारी प्रतिक्रिया सीमा के बाद Google Form बंद करना गाइड ऐड-ऑन रास्ते और इसके पीछे क्या हो रहा है, दोनों को कवर करती है।
- कस्टम वैलिडेशन जो Forms मूल रूप से नहीं कर सकता। Forms का बिल्ट-इन वैलिडेशन एक फील्ड पर संख्या सीमा या regex पैटर्न जैसे बुनियादी नियमों तक सीमित है। Apps Script कई उत्तरों को एक-दूसरे के, या बाहरी डेटा के, विरुद्ध क्रॉस-चेक कर सकता है, ऐसे तरीकों से जो नेटिव वैलिडेशन विकल्प नहीं कर सकते।
- PDF पुष्टिकरण अपने आप बनाना। एक स्क्रिप्ट नई प्रतिक्रिया ले सकती है, उसे एक दस्तावेज़ में फ़ॉर्मेट कर सकती है, इसे PDF में बदल सकती है, और इसे रसीद या पुष्टिकरण के रूप में उत्तरदाता को वापस ईमेल कर सकती है — रजिस्ट्रेशन, आवेदन, और ऑर्डर फॉर्म के लिए उपयोगी।
एक सरल उदाहरण, वैचारिक रूप से समझाया गया
यहां एक स्क्रिप्ट का मोटा ढांचा है जो सबमिट होने पर फॉर्म मालिक को ईमेल करती है। यह संरचना दिखाने के लिए उदाहरण है — इसे अपने फॉर्म के असली सवालों के अनुसार ढाले बिना प्रोडक्शन-रेडी कोड के रूप में कॉपी-पेस्ट करने वाली चीज़ नहीं है।
function onFormSubmit(e) {
// e.response holds the submitted form response
var responses = e.response.getItemResponses();
var summary = "";
responses.forEach(function (itemResponse) {
summary += itemResponse.getItem().getTitle() + ": " + itemResponse.getResponse() + "\n";
});
// Send the owner an email with the new response
MailApp.sendEmail("[email protected]", "New form response", summary);
}
मुख्य हिस्से: onFormSubmit(e) एक ट्रिगर फ़ंक्शन है — जब भी नई प्रतिक्रिया आती है, Apps Script इसे अपने आप कॉल करता है, और e इवेंट डेटा रखता है, जिसमें e.response शामिल है, जो आपको getItemResponses() के ज़रिए हर उत्तर तक पहुंच देता है। वहां से, स्क्रिप्ट वह कुछ भी कर सकती है जो Apps Script की सेवाएं सपोर्ट करती हैं — ईमेल भेजना, शीट में लिखना, बाहरी API कॉल करना, दस्तावेज़ बनाना। ट्रिगर खुद एडिटर के Triggers पैनल में अलग से कॉन्फ़िगर होता है, जहां आप इसे "On form submit" पर यह फ़ंक्शन चलाने के लिए बताते हैं।
इसे सेट करना, चरण-दर-चरण
- Script editor खोलें अपने फॉर्म के तीन-बिंदु मेन्यू से, या लिंक की गई Sheet पर Extensions > Apps Script के ज़रिए।
- ऊपर दिए गए उदाहरण जैसा एक ट्रिगर फ़ंक्शन लिखें, इवेंट ऑब्जेक्ट से सबमिट किए गए उत्तर पढ़ते हुए।
- अपना ऑटोमेशन लॉजिक जोड़ें — वह असली ईमेल, PDF, या जांच जो आप चलाना चाहते हैं।
- Triggers सेक्शन में ट्रिगर सेट करें (बाईं साइडबार में घड़ी आइकन), एक नया ट्रिगर जोड़ते हुए जो "From form" / "On form submit" इवेंट पर आपका फ़ंक्शन चलाता है।
- अधिकृत करें और परीक्षण करें। पहला रन आपसे स्क्रिप्ट को आपके फॉर्म और Gmail तक पहुंचने की अनुमति मांगेगा; इसे स्वीकृत करें, फिर यह पुष्टि करने के लिए एक असली टेस्ट प्रतिक्रिया सबमिट करें कि सब कुछ सही से चलता है।
और जानने के लिए कहां जाएं
Apps Script में सीधे Google से विस्तृत आधिकारिक दस्तावेज़ीकरण है, जो Forms सेवा, ट्रिगर, और हर अन्य Workspace ऐप को कवर करता है जिसे यह छू सकता है। अगर आप अपनी खुद की स्क्रिप्ट लिखने के बारे में गंभीर हैं, तो वह सबसे भरोसेमंद और अद्यतित संदर्भ है, क्योंकि इसे किसी थर्ड पार्टी की बजाय खुद प्रोडक्ट के साथ बनाए रखा जाता है।
"on form submit" से आगे सामान्य ट्रिगर
फॉर्म सबमिशन सबसे सामान्य ट्रिगर है, लेकिन फॉर्म के लिए उपयोगी एकमात्र नहीं। एक समय-आधारित ट्रिगर (जो Triggers पैनल में भी सेट होता है) एक शेड्यूल पर चल सकता है — हर घंटे, रोज़ाना, या किसी निश्चित समय पर — इस बात से स्वतंत्र कि किसी ने प्रतिक्रिया सबमिट की या नहीं। यही वह चीज़ है जो शेड्यूल की गई कार्रवाइयों को शक्ति देती है जैसे किसी तय तारीख पर फॉर्म को अपने आप बंद करना, हर सबमिशन पर एक ईमेल की बजाय दिन की प्रतिक्रियाओं का दैनिक डाइजेस्ट भेजना, या पुरानी प्रतिक्रियाओं को एक चालू आधार पर अलग शीट में आर्काइव करना। एडिटर-आधारित ट्रिगर (onEdit) तब चलते हैं जब कोई लिंक की गई स्प्रेडशीट में कोई सेल बदलता है, जो उपयोगी है अगर आप चाहते हैं कि जब आप मैनुअल रूप से किसी प्रतिक्रिया को स्टेटस कॉलम में "processed" या "approved" मार्क करें तो स्क्रिप्ट प्रतिक्रिया दे।
Apps Script समस्याओं का समाधान
- फॉर्म सबमिट होने पर स्क्रिप्ट नहीं चलती: पुष्टि करें कि ट्रिगर वाकई सेव है और "On form submit" पर इंगित है, किसी अलग इवेंट प्रकार पर नहीं — पहले के टेस्ट सेशन में बनाए गए ट्रिगर चुपचाप एक नए, गलत-कॉन्फ़िगर किए गए ट्रिगर के साथ मौजूद रह सकते हैं, इसलिए डुप्लिकेट के लिए Triggers पैनल जांचें।
- हर रन पर "Authorization required" त्रुटियां: अगर आप अपना Google खाता पासवर्ड बदलते हैं या Google समय-समय पर Gmail भेजने जैसे संवेदनशील स्कोप की फिर से जांच करता है, तो Apps Script अनुमतियां रद्द हो सकती हैं। अनुमति प्रॉम्प्ट को फिर से ट्रिगर करने के लिए एडिटर से एक बार मैनुअल रूप से स्क्रिप्ट फिर से चलाएं।
- स्क्रिप्ट मैनुअल रूप से चलाने पर काम करती है लेकिन अपने आप नहीं: कुछ Apps Script सेवाएं (जैसे UI डायलॉग दिखाना) केवल तभी काम करती हैं जब कोई इंसान सीधे स्क्रिप्ट चलाता है, स्वचालित ट्रिगर से नहीं — स्वचालित ट्रिगर को ईमेल भेजने या शीट में लिखने जैसी गैर-इंटरैक्टिव कार्रवाइयों का उपयोग करना चाहिए।
- ईमेल नहीं भेज रहे: Apps Script के फ्री टियर में एक दैनिक ईमेल कोटा है (निजी Gmail खाते की तुलना में Google Workspace खाते पर ज़्यादा) — भारी-मात्रा वाले फॉर्म उस सीमा तक पहुंच सकते हैं, जिससे दिन में बाद के ईमेल चुपचाप विफल हो जाते हैं।
प्रवेश की ईमानदार बाधा
Apps Script के लिए असली कोडिंग चाहिए — खासकर, बुनियादी JavaScript। यह नो-कोड टूल नहीं है, और अगर आपने पहले कभी कोड नहीं लिखा है तो इसे एक साधारण सेटिंग टॉगल की तरह मानना निराशा की ओर ले जाएगा। ऊपर दिए गए जैसे किसी छोटे उदाहरण को पढ़ना और ढालना एक प्रेरित शुरुआती के लिए यथार्थवादी है, लेकिन मल्टी-स्टेप वैलिडेशन या PDF जनरेशन जैसी ज़्यादा जटिल चीज़ बनाना असली प्रोग्रामिंग ज्ञान लेता है।
वह बाधा बिल्कुल वही अंतर है जिसे नो-कोड थर्ड-पार्टी ऐड-ऑन उन लोगों के लिए भरते हैं जिन्हें स्क्रिप्ट लिखे बिना ऑटोमेशन चाहिए, और यह वही अंतर है जिसे FormMaker जैसे उद्देश्य-निर्मित ऐप्स एक बिल्कुल अलग समस्या के लिए भरते हैं — मोबाइल पर फॉर्म खुद बनाना और मैनेज करना, बिना कोड को छुए। न तो गहरी कस्टमाइज़ेशन के लिए Apps Script की जगह लेता है, लेकिन न ही किसी को इसकी ज़रूरत है।
अक्सर पूछे जाने वाले सवाल
Google Apps Script क्या है?
Google Apps Script, Google का बिल्ट-इन JavaScript-आधारित प्लेटफ़ॉर्म है जो Forms, Sheets, और Gmail सहित Google Workspace ऐप्स को स्वचालित और विस्तारित करने के लिए है। यह Google के सर्वर पर मुफ़्त में चलता है और इसके लिए किसी अलग इंस्टॉलेशन की ज़रूरत नहीं है।
क्या Google Forms किसी के सबमिट करने पर स्वचालित ईमेल भेज सकता है?
मूल रूप से नहीं। हर सबमिशन पर फॉर्म मालिक को ईमेल करने के लिए Google Forms में कोई बिल्ट-इन सेटिंग नहीं है। जब भी कोई नई प्रतिक्रिया आती है तो एक छोटा ट्रिगर फ़ंक्शन चलाकर Apps Script इसे जोड़ सकता है।
क्या मुझे Apps Script उपयोग करने के लिए कोडिंग आनी चाहिए?
हां, कम से कम बुनियादी JavaScript। Apps Script एक असली कोडिंग वातावरण है, नो-कोड टूल नहीं। अगर आप कोड नहीं लिखना चाहते, तो इसके बजाय नो-कोड ऐड-ऑन या उद्देश्य-निर्मित ऐप्स देखें।
मैं Google Form के लिए Apps Script एडिटर कहां खोलूं?
अपने फॉर्म से, तीन-बिंदु मेन्यू पर जाएं और Script editor चुनें, या लिंक की गई Google Sheet खोलें और Extensions > Apps Script पर जाएं।
क्या Apps Script प्रति दिन कितने ईमेल भेज सकता है इसकी कोई सीमा है?
हां। Apps Script एक दैनिक ईमेल-भेजने कोटा लागू करता है जो मुफ़्त निजी Gmail खातों की तुलना में Google Workspace खातों के लिए ज़्यादा है। हर सबमिशन पर ईमेल करने वाले भारी-मात्रा वाले फॉर्म उस सीमा तक पहुंच सकते हैं, जो जांचने लायक है अगर व्यस्त दिन के बीच में ईमेल भेजना बंद हो जाएं।