सामान्य ट्रिगर की तरह ही, इंस्टॉल किए जा सकने वाले ट्रिगर की मदद से Apps Script, किसी फ़ंक्शन को अपने-आप चला सकता है. ऐसा तब होता है, जब कोई इवेंट होता है. जैसे, कोई दस्तावेज़ खोलना. हालांकि, इंस्टॉल किए जा सकने वाले ट्रिगर, सामान्य ट्रिगर की तुलना में ज़्यादा फ़्लेक्सिबिलिटी देते हैं: ये उन सेवाओं को कॉल कर सकते हैं जिनके लिए अनुमति ज़रूरी होती है. ये समय के हिसाब से (घड़ी) ट्रिगर होने वाले इवेंट के साथ-साथ कई अन्य तरह के इवेंट भी ऑफ़र करते हैं. साथ ही, इन्हें प्रोग्राम के हिसाब से कंट्रोल किया जा सकता है. सामान्य और इंस्टॉल किए जा सकने वाले, दोनों तरह के ट्रिगर के लिए Apps Script, ट्रिगर किए गए फ़ंक्शन को इवेंट ऑब्जेक्ट पास करता है. इसमें उस कॉन्टेक्स्ट के बारे में जानकारी होती है जिसमें इवेंट हुआ था.
पाबंदियां
इंस्टॉल किए जा सकने वाले ट्रिगर, सामान्य ट्रिगर की तुलना में ज़्यादा फ़्लेक्सिबिलिटी देते हैं. हालांकि, इन पर अब भी कई पाबंदियां लागू होती हैं:
- अगर किसी फ़ाइल को सिर्फ़ देखने या टिप्पणी करने के मोड में खोला जाता है, तो ये स्क्रिप्ट नहीं चलती हैं. स्टैंडअलोन स्क्रिप्ट के लिए, उपयोगकर्ताओं के पास स्क्रिप्ट फ़ाइल को देखने का ऐक्सेस होना चाहिए, ताकि ट्रिगर ठीक से काम कर सकें.
स्क्रिप्ट को चलाने और एपीआई अनुरोधों से ट्रिगर नहीं चलते. उदाहरण के लिए, नया फ़ॉर्म सबमिट करने के लिए
FormResponse.submit()
को कॉल करने से, फ़ॉर्म सबमिट करने वाले ट्रिगर के चलने की वजह नहीं बनती.इंस्टॉल किए जा सकने वाले ट्रिगर हमेशा उस व्यक्ति के खाते से चलते हैं जिसने उन्हें बनाया है. उदाहरण के लिए, अगर आपने इंस्टॉल किया जा सकने वाला ओपन ट्रिगर बनाया है, तो यह तब काम करता है, जब आपका सहयोगी दस्तावेज़ खोलता है. हालांकि, यह आपके खाते के तौर पर काम करता है. इसका मतलब है कि अगर आपने किसी दस्तावेज़ के खुलने पर ईमेल भेजने के लिए ट्रिगर बनाया है, तो ईमेल हमेशा आपके खाते से भेजा जाएगा. यह ज़रूरी नहीं है कि ईमेल उस खाते से भेजा जाए जिसने दस्तावेज़ खोला है. हालांकि, हर खाते के लिए इंस्टॉल किया जा सकने वाला ट्रिगर बनाया जा सकता है. इससे हर खाते से एक ईमेल भेजा जाएगा.
किसी खाते में, दूसरे खाते से इंस्टॉल किए गए ट्रिगर नहीं दिखते. हालांकि, पहले खाते में उन ट्रिगर को अब भी चालू किया जा सकता है.
इंस्टॉल किए जा सकने वाले ट्रिगर पर, Apps Script ट्रिगर की कोटा सीमाएं लागू होती हैं.
समय के हिसाब से ट्रिगर होने वाले ट्रिगर
समय के हिसाब से ट्रिगर होने वाला ट्रिगर (इसे क्लॉक ट्रिगर भी कहा जाता है) Unix में क्रॉन जॉब की तरह होता है. समय के हिसाब से ट्रिगर होने वाली स्क्रिप्ट को किसी तय समय पर या बार-बार ट्रिगर होने वाले इंटरवल पर चलाया जा सकता है. स्क्रिप्ट को हर मिनट में एक बार या महीने में एक बार ट्रिगर किया जा सकता है. (ध्यान दें कि ऐड-ऑन में, समय के हिसाब से ट्रिगर होने वाली सुविधा का इस्तेमाल ज़्यादा से ज़्यादा एक बार प्रति घंटे किया जा सकता है.) समय थोड़ा अलग हो सकता है. उदाहरण के लिए, अगर आपने हर दिन सुबह 9 बजे ट्रिगर होने वाला कोई फ़ंक्शन बनाया है, तो Apps Script सुबह 9 बजे से 10 बजे के बीच का कोई समय चुनता है. इसके बाद, वह हर दिन उसी समय पर ट्रिगर होता है, ताकि ट्रिगर के दोबारा चालू होने से पहले 24 घंटे पूरे हो जाएं.
इवेंट पर आधारित ट्रिगर
इंस्टॉल किए जा सकने वाले इवेंट-ड्रिवन ट्रिगर, कॉन्सेप्ट के हिसाब से सिंपल ट्रिगर जैसे onOpen()
से मिलते-जुलते होते हैं. हालांकि, ये ज़्यादा इवेंट पर काम कर सकते हैं और इनका व्यवहार अलग होता है.
उदाहरण के लिए, Google Sheets के लिए इंस्टॉल किया जा सकने वाला ओपन ट्रिगर, स्प्रेडशीट को बदलाव करने का ऐक्सेस रखने वाले किसी भी उपयोगकर्ता के खोलने पर चालू हो जाता है. यह onOpen()
ट्रिगर की तरह ही काम करता है. हालांकि, इंस्टॉल किया जा सकने वाला वर्शन, ऐसी सेवाओं को कॉल कर सकता है जिनके लिए अनुमति की ज़रूरत होती है. इंस्टॉल किया जा सकने वाला वर्शन, ट्रिगर बनाने वाले उपयोगकर्ता की अनुमति से चलता है. भले ही, बदलाव करने का ऐक्सेस रखने वाला कोई दूसरा उपयोगकर्ता स्प्रेडशीट खोले.
Google Workspace ऐप्लिकेशन के लिए, इंस्टॉल किए जा सकने वाले कई ट्रिगर उपलब्ध हैं:
- open ट्रिगर को इंस्टॉल किया जा सकता है. यह तब काम करता है, जब कोई उपयोगकर्ता ऐसी स्प्रेडशीट, दस्तावेज़ या फ़ॉर्म खोलता है जिसमें बदलाव करने की अनुमति उसके पास है.
- बदलाव करने पर ट्रिगर होने वाला इंस्टॉल किया जा सकने वाला ट्रिगर, तब काम करता है, जब कोई उपयोगकर्ता स्प्रेडशीट में किसी वैल्यू में बदलाव करता है.
- इंस्टॉल किया जा सकने वाला बदलाव ट्रिगर तब काम करता है, जब कोई उपयोगकर्ता स्प्रेडशीट के स्ट्रक्चर में बदलाव करता है. उदाहरण के लिए, नई शीट जोड़कर या किसी कॉलम को हटाकर.
- फ़ॉर्म सबमिट करने का ट्रिगर तब काम करता है, जब कोई उपयोगकर्ता किसी फ़ॉर्म का जवाब देता है. इसे इंस्टॉल किया जा सकता है. फ़ॉर्म सबमिट करने वाले ट्रिगर के दो वर्शन होते हैं. एक Google Forms के लिए और दूसरा Sheets के लिए, अगर फ़ॉर्म को स्प्रेडशीट में सबमिट किया जाता है.
- इंस्टॉल किए जा सकने वाले कैलेंडर इवेंट ट्रिगर तब काम करते हैं, जब उपयोगकर्ता के कैलेंडर इवेंट अपडेट किए जाते हैं. जैसे, इवेंट बनाना, उनमें बदलाव करना या उन्हें मिटाना.
इंस्टॉल किए जा सकने वाले ट्रिगर का इस्तेमाल, स्टैंडअलोन और बाउंड स्क्रिप्ट में किया जा सकता है. उदाहरण के लिए, कोई स्टैंडअलोन स्क्रिप्ट, प्रोग्राम के हिसाब से किसी भी Google Sheets फ़ाइल के लिए इंस्टॉल किया जा सकने वाला ट्रिगर बना सकती है. इसके लिए, उसे TriggerBuilder.forSpreadsheet(key)
को कॉल करना होगा और स्प्रेडशीट का आईडी पास करना होगा.
ट्रिगर को मैन्युअल तरीके से मैनेज करना
स्क्रिप्ट एडिटर में, मैन्युअल तरीके से इंस्टॉल किया जा सकने वाला ट्रिगर बनाने के लिए, यह तरीका अपनाएं:
- अपना Apps Script प्रोजेक्ट खोलें.
- बाईं ओर, ट्रिगर पर क्लिक करें.
- सबसे नीचे दाईं ओर, ट्रिगर जोड़ें पर क्लिक करें.
- आपको जिस तरह का ट्रिगर बनाना है उसे चुनें और कॉन्फ़िगर करें.
- सेव करें पर क्लिक करें.
प्रोग्राम के हिसाब से ट्रिगर मैनेज करना
Script service की मदद से, प्रोग्राम बनाकर ट्रिगर बनाए और मिटाए भी जा सकते हैं. ScriptApp.newTrigger(functionName)
को कॉल करके शुरू करें. इससे TriggerBuilder
मिलता है.
इस उदाहरण में, समय के हिसाब से ट्रिगर होने वाले दो ट्रिगर बनाने का तरीका बताया गया है.पहला ट्रिगर हर छह घंटे में ट्रिगर होता है और दूसरा ट्रिगर हर सोमवार सुबह 9 बजे ट्रिगर होता है. यह उस टाइम ज़ोन के हिसाब से ट्रिगर होता है जिसके लिए आपकी स्क्रिप्ट सेट की गई है.
इस अगले उदाहरण में, स्प्रेडशीट के लिए इंस्टॉल किया जा सकने वाला ओपन ट्रिगर बनाने का तरीका बताया गया है. ध्यान दें कि सामान्य onOpen()
ट्रिगर के उलट, इंस्टॉलेशन वाले ट्रिगर के लिए स्क्रिप्ट को स्प्रेडशीट से बाइंड करने की ज़रूरत नहीं होती. स्टैंडअलोन स्क्रिप्ट से इस ट्रिगर को बनाने के लिए, SpreadsheetApp.getActive()
को SpreadsheetApp.openById(id)
पर कॉल करने से बदलें.
प्रोग्राम के हिसाब से इंस्टॉल किए जा सकने वाले किसी मौजूदा ट्रिगर में बदलाव करने के लिए, आपको उसे मिटाना होगा और नया ट्रिगर बनाना होगा. अगर आपने पहले किसी ट्रिगर का आईडी सेव किया है, तो उसे मिटाया जा सकता है. इसके लिए, आईडी को नीचे दिए गए फ़ंक्शन में आर्ग्युमेंट के तौर पर पास करें.
हमारा सुझाव है कि ट्रिगर बनाने से पहले, यह पुष्टि कर लें कि उससे जुड़े फ़ंक्शन के पास सभी ज़रूरी OAuth अनुमतियां हैं.
ट्रिगर में गड़बड़ियां
जब इंस्टॉल किया जा सकने वाला ट्रिगर चालू होता है, लेकिन फ़ंक्शन कोई अपवाद दिखाता है या किसी अन्य वजह से ठीक से नहीं चलता है, तो आपको अपनी स्क्रीन पर गड़बड़ी का मैसेज नहीं दिखता. आखिरकार, जब समय के हिसाब से ट्रिगर होने वाला कोई ट्रिगर चलता है या कोई दूसरा उपयोगकर्ता, फ़ॉर्म सबमिट करने वाले ट्रिगर को चालू करता है, तो हो सकता है कि आप अपने कंप्यूटर पर न हों.
इसके बजाय, Apps Script आपको इस तरह का ईमेल भेजता है:
From: noreply-apps-scripts-notifications@google.com Subject: Summary of failures for Google Apps Script Your script has recently failed to finish successfully. A summary of the failure(s) is shown below.
ईमेल में ट्रिगर को बंद करने या फिर से कॉन्फ़िगर करने का लिंक शामिल होता है. अगर स्क्रिप्ट को Google Sheets, Docs या Forms की किसी फ़ाइल से बाउंड किया गया है, तो ईमेल में उस फ़ाइल का लिंक भी शामिल होता है. इन लिंक की मदद से, ट्रिगर को बंद किया जा सकता है या स्क्रिप्ट में बदलाव करके गड़बड़ी को ठीक किया जा सकता है.
अपने Google खाते से जुड़े सभी ट्रिगर की समीक्षा करने और उन ट्रिगर को बंद करने के लिए, यह तरीका अपनाएं जिनकी अब आपको ज़रूरत नहीं है:
script.google.com
पर जाएँ.- बाईं ओर, मेरे ट्रिगर पर क्लिक करें.
किसी ट्रिगर को मिटाने के लिए, ट्रिगर की दाईं ओर मौजूद, ज़्यादा
> ट्रिगर मिटाएं पर क्लिक करें.
ऐड-ऑन में ट्रिगर
ऐड-ऑन में, इंस्टॉल किए जा सकने वाले ट्रिगर के साथ-साथ मेनिफ़ेस्ट ट्रिगर का भी इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, Google Workspace ऐड-ऑन के लिए ट्रिगर लेख पढ़ें.