Google Apps Script में, उपयोगकर्ता के डेटा, Google के अन्य सिस्टम, और बाहरी सिस्टम के साथ इंटरैक्ट करने के लिए, 30 से ज़्यादा सुविधाएं पहले से मौजूद होती हैं. ये सेवाएं हैं:
JavaScript के स्टैंडर्ड से मिलते-जुलते ग्लोबल ऑब्जेक्ट के तौर पर दिया जाता है
Math
ऑब्जेक्ट है. उदाहरण के लिए, जिस तरह Math
में random()
और
PI
जैसे स्थिरांक, Apps Script की
स्प्रेडशीट सेवा कई तरह की विधियां देती है
openById(id)
,
क्लास (चाइल्ड ऑब्जेक्ट) जैसे
Range
और ईनम जैसी हैं
DataValidationCriteria
.
Google Workspace प्रॉडक्ट को कंट्रोल करने वाली सेवाओं के लिए रेफ़रंस दस्तावेज़, इस साइट के साइडबार में "रेफ़रंस" हेडर के नीचे मौजूद "Google Workspace सेवाएं" सेक्शन में इकट्ठा किए जाते हैं. बिजली-पानी जैसी सुविधाओं से जुड़ी सेवाएं यूज़र इंटरफ़ेस बनाने, एक्सएमएल पार्स करने या लॉग डेटा लिखने जैसे डेटा इकट्ठा किए जाते हैं "स्क्रिप्ट सेवाओं" में सेक्शन में जाएं.
JavaScript की नई सुविधाएं
Apps Script में दो JavaScript रनटाइम इस्तेमाल किए जा सकते हैं: मॉडर्न वर्शन V8 रनटाइम और एक पुराना रनटाइम, Mozilla के Rhino JavaScript इंटरप्रेटर.
V8 रनटाइम, मॉडर्न वर्शन का इस्तेमाल करता है ECMAScript सिंटैक्स और सुविधाएं. राइनो का रनटाइम, पुराने समय पर आधारित होता है JavaScript 1.6 स्टैंडर्ड, और कुछ ऐसी सुविधाएं 1.7 और 1.8. आपके पास अपने हिसाब से रनटाइम चुनने का विकल्प होता है अपनी स्क्रिप्ट के साथ इस्तेमाल करें, लेकिन V8 रनटाइम इस्तेमाल करने का सुझाव दिया जाता है.
हर रनटाइम, उन JavaScript क्लास और ऑब्जेक्ट के साथ काम करता है जो आपके
बिल्ट-इन के अलावा स्क्रिप्ट
और Google की बेहतर सेवाएं शामिल हैं. आपका
स्क्रिप्ट, सामान्य चीज़ों का इस्तेमाल कर सकती हैं, जैसे कि
Array
Date
RegExp
,
वगैरह,
और साथ ही
Math
और
Object
ग्लोबल ऑब्जेक्ट.
ऑटोकंप्लीट की सुविधा का इस्तेमाल करना
स्क्रिप्ट एडिटर में "कॉन्टेंट असिस्ट" सुविधा होती है. इसे आम तौर पर "अपने-आप पूरा होने की सुविधा" कहा जाता है. इस सुविधा से, स्क्रिप्ट के मौजूदा कॉन्टेक्स्ट में मान्य वैश्विक ऑब्जेक्ट के साथ-साथ, ऐसे तरीके और एन्सम (एक से ज़्यादा वैल्यू वाले वैरिएबल) भी दिखते हैं. अपने-आप पूरे होने वाले सुझाव दिखते हैं ग्लोबल ऑब्जेक्ट, ईनम या मेथड के बाद पीरियड टाइप करने पर, अपने-आप यह तय हो जाता है कॉल जो Apps Script क्लास दिखाता है. उदाहरण के लिए:
- अगर किसी ग्लोबल ऑब्जेक्ट का पूरा नाम टाइप किया जाता है या ऑटोकंप्लीट की सुविधा में से किसी एक को चुना जाता है,
फिर
.
(एक अवधि) टाइप करें, तो आपको उस क्लास के लिए सभी तरीके और enum दिखेंगे. - यदि आप कुछ वर्ण लिखेंगे, तो आपको सभी मान्य दिखाई देंगे जो उन वर्णों से शुरू होते हैं.
ग्लोबल ऑब्जेक्ट को समझना
हर सेवा में कम से कम एक ग्लोबल (टॉप-लेवल) ऑब्जेक्ट होता है. उदाहरण के लिए, Gmail सेवा को सिर्फ़ GmailApp
ऑब्जेक्ट से ऐक्सेस किया जाता है. कुछ सेवाएं कई ग्लोबल ऑब्जेक्ट उपलब्ध कराती हैं. उदाहरण के लिए, बुनियादी सेवा में चार ग्लोबल ऑब्जेक्ट शामिल हैं: Browser
, Logger
, MimeType
, और Session
.
कॉल करने के तरीके
करीब सभी बिल्ट-इन या ग्लोबल ऐडवांस सेवाओं में ऐसे तरीके शामिल होते हैं डेटा या Apps Script क्लास दिखाएं. स्क्रिप्ट इस फ़ॉर्मैट में मेथड कॉल करती हैं:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
उदाहरण के लिए, कोई स्क्रिप्ट
sendEmail(recipient, subject, body)
देख सकते हैं:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
अगर कोई तरीका, Apps Script की किसी दूसरी क्लास दिखाता है, तो आपके पास एक ही क्लास में मेथड से जुड़े कॉल की चेन चुनने का विकल्प होता है
लाइन. (रिटर्न टाइप, अपने-आप पूरा होने वाले टेक्स्ट और किसी तरीके के रेफ़रंस दस्तावेज़, दोनों में दिखते हैं.) उदाहरण के लिए,
DocumentApp.create()
Document
दिखाता है; इसलिए,
कोड के ये दो सेक्शन एक जैसे हैं:
var doc = DocumentApp.create('New document');
var body = doc.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');
// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
.appendParagraph('New paragraph.');
बच्चों के लिए बनी क्लास ऐक्सेस करना
हर सेवा में एक या उससे ज़्यादा चाइल्ड क्लास शामिल होती हैं. इन्हें टॉप लेवल से ऐक्सेस नहीं किया जा सकता, जैसा कि ग्लोबल ऑब्जेक्ट को किया जा सकता है. इसके लिए new
कीवर्ड का इस्तेमाल नहीं किया जा सकता
इन क्लास का निर्माण करें, जैसा कि आप
Date
;
चाइल्ड क्लास को ऐक्सेस करने के लिए, उसे लौटाने के तरीके को कॉल करें. अगर आप:
किसी विशेष श्रेणी तक पहुंचने का तरीका नहीं जानते, तो सेवा के रूट पेज पर जाएं
संदर्भ दस्तावेज़ की फ़ाइल को कॉपी करें और वह तरीका खोजें जिससे आपकी पसंद की क्लास दिखे.
इंटरफ़ेस पर काम करना
कुछ सेवाओं में खास क्लास शामिल होती हैं, जिन्हें रेफ़रंस दस्तावेज़ में "इंटरफ़ेस" के तौर पर लेबल किया जाता है. ये सामान्य क्लास हैं, जिनका इस्तेमाल उन तरीकों के लिए रिटर्न टाइप के तौर पर किया जाता है जिनके लिए पहले से सटीक टाइप तय नहीं किया जा सकता. उदाहरण के लिए, दस्तावेज़ सेवा का तरीका Body.getChild(childIndex)
एक सामान्य Element
ऑब्जेक्ट दिखाता है.
Element
एक ऐसा इंटरफ़ेस है जो किसी अन्य क्लास को दिखाता है. ऐसा हो सकता है कि
Paragraph
या
Table
. इंटरफ़ेस ऑब्जेक्ट कभी-कभार ही होते हैं
अपने लिए उपयोगी बनाती हैं; के बजाय, आप आम तौर पर
Element.asParagraph()
का इस्तेमाल करें.
Enum के साथ काम करना
ज़्यादातर सेवाओं में, नाम वाली वैल्यू के कुछ एनम (एनोटेट किए गए टाइप) शामिल होते हैं. उदाहरण के लिए, Drive सेवा यह तय करने के लिए कि किन उपयोगकर्ताओं के पास फ़ाइल या फ़ोल्डर का ऐक्सेस है, सूची Access
और सूची Permission
का इस्तेमाल करती है. ज़्यादातर मामलों में, इन एन्सम को ग्लोबल ऑब्जेक्ट से ऐक्सेस किया जाता है. उदाहरण के लिए, कॉल
Folder.setSharing(accessType, permissionType)
ऐसा दिखता है:
// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);