इंस्टॉल किए जा सकने वाले ट्रिगर

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

आसान ट्रिगर की तरह ही, इंस्टॉल किए जा सकने वाले ट्रिगर की मदद से, Apps Script अपने-आप एक फ़ंक्शन को चालू कर देता है. ऐसा, किसी खास इवेंट, जैसे कि किसी दस्तावेज़ को खोलने पर होता है. हालांकि, इंस्टॉल करने लायक ट्रिगर, आसान ट्रिगर के मुकाबले ज़्यादा सुविधा देते हैं: ऐसी सेवाओं को कॉल किया जा सकता है जिनके लिए अनुमति ज़रूरी है. साथ ही, वे कई अन्य तरह के इवेंट भी उपलब्ध कराते हैं, जिनमें समय के हिसाब से (क्लॉक) ट्रिगर शामिल होते हैं. साथ ही, उन्हें प्रोग्राम के हिसाब से कंट्रोल भी किया जा सकता है. आसान और इंस्टॉल किए जा सकने वाले ट्रिगर, दोनों के लिए 'Apps स्क्रिप्ट' ट्रिगर किए गए फ़ंक्शन को एक इवेंट ऑब्जेक्ट पास करता है. इस इवेंट में, उस संदर्भ के बारे में जानकारी होती है जिस दौरान वह इवेंट हुआ था.

ज़रूरी शर्तें

हालांकि, इंस्टॉल करने लायक ट्रिगर सामान्य ट्रिगर की तुलना में ज़्यादा सुविधा देते हैं, लेकिन उन पर कई पाबंदियां लागू होती हैं:

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

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

  • अगर किसी खाते को किसी दूसरे खाते से इंस्टॉल किए गए ट्रिगर नहीं दिखाए जाते हैं, तो भी पहले खाते में वे ट्रिगर चालू हो सकते हैं.

  • इंस्टॉल किए जा सकने वाले ट्रिगर, Apps Script ट्रिगर कोटा की सीमा पर निर्भर करते हैं.

समय के आधार पर ट्रिगर

समय के हिसाब से ट्रिगर (जिसे घड़ी ट्रिगर भी कहा जाता है), यूनिक्स के क्रॉन जॉब से मिलता-जुलता है. समय के हिसाब से ट्रिगर से, स्क्रिप्ट किसी खास समय पर या बार-बार होने वाले इंटरवल पर, महीने में हर बार या महीने में कम से कम एक बार एक्ज़ीक्यूट की जा सकती हैं. (ध्यान दें कि ऐड-ऑन समय के आधार पर ट्रिगर होने वाले ट्रिगर का इस्तेमाल कर सकता है, हर घंटे में ज़्यादा से ज़्यादा एक बार.) समय थोड़ा रैंडम हो सकता है — उदाहरण के लिए, अगर आप बार-बार सुबह 9 बजे का ट्रिगर बनाते हैं, तो Apps Script सुबह 9 बजे से 10 बजे के बीच का समय चुनता है, फिर उस समय को दिन-से-समय के अनुसार रखता है ताकि ट्रिगर फिर से चालू होने से पहले 24 घंटे बीत जाएं.

इवेंट-ड्रिवन के ट्रिगर

इंस्टॉल किए जा सकने वाले इवेंट-ड्रिवन ट्रिगर, आम तौर पर onOpen() जैसे आसान ट्रिगर जैसे ही होते हैं. हालांकि, ये अन्य इवेंट पर जवाब दे सकते हैं और अलग-अलग तरह से काम करते हैं.

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

ऐप्लिकेशन के लिए कई ऐसे ट्रिगर हैं जिन्हें इंस्टॉल किया जा सकता है Google Workspace :

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

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

ट्रिगर को मैन्युअल रूप से मैनेज करना

स्क्रिप्ट एडिटर में मैन्युअल रूप से इंस्टॉल किए जा सकने वाले ट्रिगर बनाने के लिए, यह तरीका अपनाएं:

  1. अपना Apps Script प्रोजेक्ट खोलें.
  2. बाईं ओर, ट्रिगर पर क्लिक करें.
  3. नीचे दाईं ओर, ट्रिगर जोड़ें पर क्लिक करें.
  4. आपको जिस तरह का ट्रिगर बनाना है उसे चुनें और कॉन्फ़िगर करें.
  5. सेव करें पर क्लिक करें.

प्रोग्राम के हिसाब से ट्रिगर मैनेज करना

स्क्रिप्ट सेवा की मदद से प्रोग्राम की मदद से ट्रिगर बनाए और मिटाए जा सकते हैं. ScriptApp.newTrigger(functionName) से कॉल करके शुरू करें, जो TriggerBuilder दिखाता है.

नीचे दिए गए उदाहरण में, समय के हिसाब से ट्रिगर करने वाले दो ट्रिगर बनाने का तरीका बताया गया है. एक ट्रिगर हर छह घंटे में और हर सोमवार सुबह 9 बजे सक्रिय होता है.

ट्रिगर/trigger.gs
/**
 * Creates two time-driven triggers.
 * @see https://developers.google.com/apps-script/guides/triggers/installable#time-driven_triggers
 */
function createTimeDrivenTriggers() {
  // Trigger every 6 hours.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .everyHours(6)
      .create();
  // Trigger every Monday at 09:00.
  ScriptApp.newTrigger('myFunction')
      .timeBased()
      .onWeekDay(ScriptApp.WeekDay.MONDAY)
      .atHour(9)
      .create();
}

अगले उदाहरण में, स्प्रेडशीट के लिए ऐसा ओपन ट्रिगर बनाने का तरीका बताया गया है जिसे इंस्टॉल किया जा सकता है. ध्यान दें कि इंस्टॉल करने लायक ट्रिगर की स्क्रिप्ट, स्प्रेडशीट से बंधी नहीं होनी चाहिए. हालांकि, इस्तेमाल करने लायक onOpen() ट्रिगर के लिए ऐसा करना ज़रूरी नहीं है. इस ट्रिगर को किसी स्टैंडअलोन स्क्रिप्ट से बनाने के लिए, बस SpreadsheetApp.getActive() को SpreadsheetApp.openById(id) पर किए जाने वाले कॉल से बदलें.

ट्रिगर/trigger.gs
/**
 * Creates a trigger for when a spreadsheet opens.
 * @see https://developers.google.com/apps-script/guides/triggers/installable
 */
function createSpreadsheetOpenTrigger() {
  const ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('myFunction')
      .forSpreadsheet(ss)
      .onOpen()
      .create();
}

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

ट्रिगर/trigger.gs
/**
 * Deletes a trigger.
 * @param {string} triggerId The Trigger ID.
 * @see https://developers.google.com/apps-script/guides/triggers/installable
 */
function deleteTrigger(triggerId) {
  // Loop over all triggers.
  const allTriggers = ScriptApp.getProjectTriggers();
  for (let index = 0; index < allTriggers.length; index++) {
    // If the current trigger is the correct one, delete it.
    if (allTriggers[index].getUniqueId() === triggerId) {
      ScriptApp.deleteTrigger(allTriggers[index]);
      break;
    }
  }
}

ट्रिगर में गड़बड़ियां

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

इसके बजाय, Apps Script आपको इस तरह का ईमेल भेजता है:

From: 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 शीट, दस्तावेज़ या फ़ॉर्म फ़ाइल से सीमित है, तो ईमेल में उस फ़ाइल का लिंक भी शामिल होता है. इन लिंक की मदद से, ट्रिगर को बंद किया जा सकता है या गड़बड़ी को ठीक करने के लिए स्क्रिप्ट में बदलाव किए जा सकते हैं.

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

  1. script.google.com पर जाएं.
  2. बाईं ओर, मेरे ट्रिगर पर क्लिक करें.
  3. ट्रिगर मिटाने के लिए, ट्रिगर की दाईं ओर, ज़्यादा > ट्रिगर मिटाएं पर क्लिक करें.

ऐड-ऑन में इंस्टॉल किए जा सकने वाले ट्रिगर

ऐड-ऑन में इंस्टॉल किए जा सकने वाले ट्रिगर का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, ऐड-ऑन ट्रिगर देखें.