Class ScriptApp

ScriptApp

स्क्रिप्ट पब्लिशिंग और ट्रिगर को ऐक्सेस करें और उनमें बदलाव करें. इस क्लास की मदद से उपयोगकर्ता, स्क्रिप्ट ट्रिगर बना सकते हैं. साथ ही, स्क्रिप्ट को सेवा के तौर पर पब्लिश करने की सुविधा को कंट्रोल कर सकते हैं.

प्रॉपर्टी

प्रॉपर्टीTypeब्यौरा
AuthModeAuthModeएक गिनती, जिससे यह पता चलता है कि ट्रिगर किए गए फ़ंक्शन के ज़रिए, Apps Script की मदद से, अनुमति वाली सेवाओं की किन कैटगरी को लागू किया जा सकता है.
AuthorizationStatusAuthorizationStatusस्क्रिप्ट की अनुमति की स्थिति के बारे में बताने वाली गिनती.
EventTypeEventTypeट्रिगर किए गए इवेंट के टाइप के बारे में बताने वाली गिनती.
InstallationSourceInstallationSourceउपयोगकर्ता के लिए ऐड-ऑन के तौर पर स्क्रिप्ट कैसे इंस्टॉल किया गया, इस बारे में जानकारी देने वाला एन्युमेशन.
TriggerSourceTriggerSourceट्रिगर को चालू करने वाले इवेंट के सोर्स के बारे में बताने वाली गिनती.
WeekDayWeekdayहफ़्ते के दिनों को दिखाने वाली सूची.

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
deleteTrigger(trigger)voidदिए गए ट्रिगर को हटा देता है, ताकि यह अब न चले.
getAuthorizationInfo(authMode)AuthorizationInfoयह तय करने के लिए एक ऑब्जेक्ट इस्तेमाल किया जाता है कि उपयोगकर्ता को एक या एक से ज़्यादा सेवाओं का इस्तेमाल करने के लिए इस स्क्रिप्ट को अनुमति देने की ज़रूरत है या नहीं. साथ ही, अनुमति देने वाले डायलॉग के लिए यूआरएल देने के लिए भी इसका इस्तेमाल किया जाता है.
getIdentityToken()Stringअगर openid स्कोप अनुमति दी गई है, तो असरदार उपयोगकर्ता के लिए OpenID Connect आइडेंटिटी टोकन मिलता है.
getInstallationSource()InstallationSourceएनम वैल्यू दिखाता है. इससे पता चलता है कि मौजूदा उपयोगकर्ता के लिए, स्क्रिप्ट ऐड-ऑन के तौर पर कैसे इंस्टॉल हुई. उदाहरण के लिए, क्या उपयोगकर्ता ने इसे Chrome Web Store से निजी तौर पर इंस्टॉल किया है या डोमेन एडमिन ने सभी उपयोगकर्ताओं के लिए इसे इंस्टॉल किया है या नहीं.
getOAuthToken()Stringअसरदार उपयोगकर्ता के लिए OAuth 2.0 ऐक्सेस टोकन पाता है.
getProjectTriggers()Trigger[]मौजूदा प्रोजेक्ट और मौजूदा उपयोगकर्ता से जुड़े सभी इंस्टॉल किए जा सकने वाले ट्रिगर पाएं.
getScriptId()Stringस्क्रिप्ट प्रोजेक्ट का यूनीक आईडी मिलता है.
getService()Serviceस्क्रिप्ट को वेब ऐप्लिकेशन के तौर पर पब्लिश करने के कंट्रोल के लिए, इस्तेमाल किया जाने वाला एक ऑब्जेक्ट देता है.
getUserTriggers(document)Trigger[]दिए गए दस्तावेज़ में, इस उपयोगकर्ता के मालिकाना हक वाले ऐसे सभी ट्रिगर पाएं जो इंस्टॉल किए जा सकते हैं. ऐसा सिर्फ़ इस स्क्रिप्ट या ऐड-ऑन के लिए होता है.
getUserTriggers(form)Trigger[]इस उपयोगकर्ता के मालिकाना हक वाले, इंस्टॉल किए जा सकने वाले सभी ट्रिगर, दिए गए फ़ॉर्म में पाएं. यह सुविधा, इस स्क्रिप्ट या सिर्फ़ ऐड-ऑन के लिए उपलब्ध है.
getUserTriggers(spreadsheet)Trigger[]इस उपयोगकर्ता के मालिकाना हक वाली स्प्रेडशीट में, इंस्टॉल किए जा सकने वाले सभी ट्रिगर की जानकारी मिलती है. हालांकि, ऐसा सिर्फ़ इस स्क्रिप्ट या ऐड-ऑन के लिए किया जाता है.
invalidateAuth()voidउस अनुमति को अमान्य कर देता है जो असरदार उपयोगकर्ता को मौजूदा स्क्रिप्ट चलाने के लिए चाहिए.
newStateToken()StateTokenBuilderयह ऐसे स्टेट टोकन के लिए एक बिल्डर बनाता है जिसे कॉलबैक एपीआई (जैसे कि OAuth फ़्लो) में इस्तेमाल किया जा सकता है.
newTrigger(functionName)TriggerBuilderइससे इंस्टॉल किया जा सकने वाला एक ट्रिगर बनाने की प्रोसेस शुरू होती है. ट्रिगर होने पर, किसी दिए गए फ़ंक्शन को कॉल करता है.

ज़्यादा जानकारी के साथ दस्तावेज़

deleteTrigger(trigger)

दिए गए ट्रिगर को हटा देता है, ताकि यह अब न चले.

// Deletes all triggers in the current project.
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
  ScriptApp.deleteTrigger(triggers[i]);
}

पैरामीटर

नामTypeब्यौरा
triggerTriggerमिटाने का ट्रिगर.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.scriptapp

getAuthorizationInfo(authMode)

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

var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
status = authInfo.getAuthorizationStatus();
url = authInfo.getAuthorizationUrl();

पैरामीटर

नामTypeब्यौरा
authModeAuthModeअनुमति देने वाला वह मोड जिसके लिए अनुमति की जानकारी का अनुरोध किया जाता है. करीब सभी मामलों में, authMode की वैल्यू ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) होनी चाहिए. ऐसा इसलिए है, क्योंकि दूसरे में अनुमति देने वाले मोड के लिए उपयोगकर्ताओं से अनुमति लेने की ज़रूरत नहीं होती

रिटर्न

AuthorizationInfo — यह एक ऑब्जेक्ट है, जो उपयोगकर्ता की अनुमति की स्थिति के बारे में जानकारी दे सकता है


getIdentityToken()

अगर openid स्कोप अनुमति दी गई है, तो असरदार उपयोगकर्ता के लिए OpenID Connect आइडेंटिटी टोकन मिलता है. यह दायरा डिफ़ॉल्ट रूप से शामिल नहीं होता. इसका अनुरोध करने के लिए, आपको इसे मेनिफ़ेस्ट फ़ाइल में साफ़ तौर पर लिखे जाने वाले दायरे के तौर पर जोड़ना होगा. टोकन में उपयोगकर्ता की ज़्यादा जानकारी देने के लिए, https://www.googleapis.com/auth/userinfo.email या https://www.googleapis.com/auth/userinfo.profile स्कोप शामिल करें.

लौटाया गया आईडी टोकन, कोड में बदला गया JSON Web Token (JWT) होता है. इस टोकन से जानकारी निकालने के लिए, इसे डिकोड करना ज़रूरी है. नीचे दिए गए उदाहरणों में, टोकन को डिकोड करने और उपयोगकर्ता का Google प्रोफ़ाइल आईडी निकालने का तरीका बताया गया है.

var idToken = ScriptApp.getIdentityToken();
var body = idToken.split('.')[1];
var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString();
var payload = JSON.parse(decoded);
var profileId = payload.sub;
Logger.log('Profile ID: ' + profileId);
दिए गए फ़ील्ड (दावों) की पूरी सूची देखने के लिए, OpenID Connect दस्तावेज़ देखें.

रिटर्न

String — अगर उपलब्ध है, तो आइडेंटिटी टोकन; नहीं तो null.


getInstallationSource()

एनम वैल्यू दिखाता है. इससे पता चलता है कि मौजूदा उपयोगकर्ता के लिए, स्क्रिप्ट ऐड-ऑन के तौर पर कैसे इंस्टॉल हुई. उदाहरण के लिए, क्या उपयोगकर्ता ने इसे Chrome Web Store से निजी तौर पर इंस्टॉल किया है या डोमेन एडमिन ने सभी उपयोगकर्ताओं के लिए इसे इंस्टॉल किया है या नहीं.

रिटर्न

InstallationSource — इंस्टॉल करने का सोर्स.


getOAuthToken()

असरदार उपयोगकर्ता के लिए OAuth 2.0 ऐक्सेस टोकन पाता है. अगर स्क्रिप्ट के OAuth स्कोप किसी दूसरे Google API को अनुमति देने के लिए काफ़ी हैं जिसे आम तौर पर खुद के OAuth फ़्लो (जैसे Google पिकर) की ज़रूरत होती है, तो स्क्रिप्ट इस टोकन को पास करके अनुमति वाले दूसरे प्रॉम्प्ट को बायपास कर सकती हैं. टोकन, समय (कम से कम कुछ मिनट) के बाद खत्म हो जाता है. स्क्रिप्ट को, अनुमति न मिलने से जुड़ी समस्याओं को हैंडल करना चाहिए और ज़रूरत पड़ने पर नया टोकन पाने के लिए, इस तरीके को कॉल करना चाहिए.

इस तरीके से लौटाए गए टोकन में सिर्फ़ वे स्कोप शामिल होते हैं जिनकी स्क्रिप्ट को फ़िलहाल ज़रूरत हो. ऐसे स्कोप जिन्हें पहले अनुमति दी गई थी, लेकिन अब स्क्रिप्ट उनका इस्तेमाल नहीं कर रही है, उन्हें लौटाए गए टोकन में शामिल नहीं किया जाता. अगर स्क्रिप्ट की ज़रूरत के अलावा अतिरिक्त OAuth दायरों की ज़रूरत है, तो उन्हें स्क्रिप्ट की मेनिफ़ेस्ट फ़ाइल में तय किया जा सकता है.

रिटर्न

String — यह OAuth 2.0 टोकन को स्ट्रिंग के तौर पर दिखाता है.


getProjectTriggers()

मौजूदा प्रोजेक्ट और मौजूदा उपयोगकर्ता से जुड़े सभी इंस्टॉल किए जा सकने वाले ट्रिगर पाएं.

Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');

रिटर्न

Trigger[] — इस प्रोजेक्ट से जुड़े मौजूदा उपयोगकर्ता के ट्रिगर का कलेक्शन.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.scriptapp

getScriptId()

स्क्रिप्ट प्रोजेक्ट का यूनीक आईडी मिलता है. यह getProjectKey() के बजाय, स्क्रिप्ट प्रोजेक्ट के लिए यूनीक आइडेंटिफ़ायर पाने का पसंदीदा तरीका है. इस आईडी का इस्तेमाल उन सभी जगहों पर किया जा सकता है जहां पहले प्रोजेक्ट कुंजी दी गई थी.

रिटर्न

String — स्क्रिप्ट प्रोजेक्ट का आईडी.


getService()

स्क्रिप्ट को वेब ऐप्लिकेशन के तौर पर पब्लिश करने के कंट्रोल के लिए, इस्तेमाल किया जाने वाला एक ऑब्जेक्ट देता है.

// Get the URL of the published web app.
var url = ScriptApp.getService().getUrl();

रिटर्न

Service — यह एक ऑब्जेक्ट है, जिसका इस्तेमाल करके, स्क्रिप्ट को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जा रहा है. साथ ही, इसे मॉनिटर करने और कंट्रोल करने के लिए इस्तेमाल किया जाता है.


getUserTriggers(document)

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

var doc = DocumentApp.getActiveDocument();
var triggers = ScriptApp.getUserTriggers(doc);
// Log the handler function for the first trigger in the array.
Logger.log(triggers[0].getHandlerFunction());

पैरामीटर

नामTypeब्यौरा
documentDocumentGoogle Docs फ़ाइल, जिसमें इंस्टॉल किए जा सकने वाले ट्रिगर हो सकते हैं.

रिटर्न

Trigger[] — दिए गए दस्तावेज़ में इस उपयोगकर्ता के मालिकाना हक वाले ट्रिगर का कलेक्शन.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(form)

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

var form = FormApp.getActiveForm();
var triggers = ScriptApp.getUserTriggers(form);
// Log the trigger source for the first trigger in the array.
Logger.log(triggers[0].getTriggerSource());

पैरामीटर

नामTypeब्यौरा
formFormGoogle Forms की फ़ाइल, जिसमें इंस्टॉल किए जा सकने वाले ट्रिगर हो सकते हैं.

रिटर्न

Trigger[] — दिए गए फ़ॉर्म में इस उपयोगकर्ता के मालिकाना हक वाले ट्रिगर का कलेक्शन.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(spreadsheet)

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

var ss = SpreadsheetApp.getActiveSpreadsheet();
var triggers = ScriptApp.getUserTriggers(ss);
// Log the event type for the first trigger in the array.
Logger.log(triggers[0].getEventType());

पैरामीटर

नामTypeब्यौरा
spreadsheetSpreadsheetGoogle Sheets फ़ाइल, जिसमें इंस्टॉल किए जा सकने वाले ट्रिगर हो सकते हैं.

रिटर्न

Trigger[] — दी गई स्प्रेडशीट में, इस उपयोगकर्ता के मालिकाना हक वाले ट्रिगर का कलेक्शन.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.scriptapp

invalidateAuth()

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

ScriptApp.invalidateAuth();

थ्रो

Error — जब अमान्य होने की वजह से ऐसा न हो


newStateToken()

यह ऐसे स्टेट टोकन के लिए एक बिल्डर बनाता है जिसे कॉलबैक एपीआई (जैसे कि OAuth फ़्लो) में इस्तेमाल किया जा सकता है.

// Generate a callback URL, given the name of a callback function. The script does not need to
// be published as a web app; the /usercallback URL suffix replaces /edit in any script's URL.
function getCallbackURL(callbackFunction) {
  // IMPORTANT: Replace string below with the URL from your script, minus the /edit at the end.
  var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz';
  var urlSuffix = '/usercallback?state=';
  var stateToken = ScriptApp.newStateToken()
      .withMethod(callbackFunction)
      .withTimeout(120)
      .createToken();
  return scriptUrl + urlSuffix + stateToken;
}

ज़्यादातर OAuth2 फ़्लो में, state टोकन सीधे ऑथराइज़ेशन एंडपॉइंट को (कॉलबैक यूआरएल के हिस्से के रूप में नहीं) को पास किया जाता है. इसके बाद, ऑथराइज़ेशन एंडपॉइंट, इसे कॉलबैक यूआरएल के हिस्से के रूप में पास करता है.

उदाहरण के लिए:

  • स्क्रिप्ट उपयोगकर्ता को OAuth2 अधिकृत यूआरएल पर रीडायरेक्ट करती है: https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
  • उपयोगकर्ता, 'अनुमति दें' पर क्लिक करता है और OAuth2 अनुमति देने वाला पेज, उपयोगकर्ता को वापस https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants पर रीडायरेक्ट कर देता है
  • ऊपर दिए गए रीडायरेक्ट (http://script.google.com/... पर वापस), से ब्राउज़र को /usercallback का अनुरोध मिलता है, जो StateTokenBuilder.withMethod(method) में बताए गए तरीके को शुरू करता है.

रिटर्न

StateTokenBuilder — यह एक ऑब्जेक्ट है, जिसका इस्तेमाल स्टेट-टोकन बनाने की प्रोसेस को जारी रखने के लिए किया जाता है.


newTrigger(functionName)

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

// Creates an edit trigger for a spreadsheet identified by ID.
ScriptApp.newTrigger('myFunction')
    .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3')
    .onEdit()
    .create();

पैरामीटर

नामTypeब्यौरा
functionNameStringट्रिगर के सक्रिय होने पर कॉल करने वाला फ़ंक्शन. शामिल की गई लाइब्रेरी के फ़ंक्शन इस्तेमाल किए जा सकते हैं, जैसे कि Library.libFunction1.

रिटर्न

TriggerBuilder — यह एक ऑब्जेक्ट है, जिसका इस्तेमाल ट्रिगर बनाने की प्रोसेस को जारी रखने के लिए किया जाता है.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.scriptapp

काम न करने वाले तरीके