पहले से मौजूद Google सेवाएं

Google Apps Script, Android, 40, उपयोगकर्ता डेटा, Google के अन्य सिस्टम, और बाहरी सिस्टम शामिल हैं. ये सेवाएं हैं: 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 की किसी दूसरी क्लास दिखाता है, तो आपके पास मेथड से मिलने वाले कॉल की चेन चुनने का विकल्प होता है लाइन. (रिटर्न टाइप, ऑटोकंप्लीट और किसी तरीके के रेफ़रंस, दोनों में दिखाए जाते हैं documentation.) उदाहरण के लिए, DocumentApp.create() Document दिखाता है; इसलिए, कोड के ये दो सेक्शन एक जैसे हैं:

var doc = DocumentApp.create('New document');
var body = doc.getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').getBody().appendParagraph('New paragraph.');

चाइल्ड क्लास को ऐक्सेस करना

हर सेवा में एक या उससे ज़्यादा ऐसी चाइल्ड क्लास होती हैं जिनसे ऐक्सेस नहीं किया जा सकता ग्लोबल ऑब्जेक्ट के रूप में टॉप लेवल पर जा सकता है. इसके लिए new कीवर्ड का इस्तेमाल नहीं किया जा सकता इन क्लास का निर्माण करें, जैसा कि आप Date; चाइल्ड क्लास को ऐक्सेस करने के लिए, उसे लौटाने के तरीके को कॉल करें. अगर आप: किसी विशेष श्रेणी तक पहुंचने का तरीका नहीं जानते, तो सेवा के रूट पेज पर जाएं संदर्भ दस्तावेज़ पढ़ें और वह तरीका खोजें जिससे आपकी पसंद की क्लास वापस मिलती हो.

इंटरफ़ेस पर काम करना

कुछ सेवाओं में, "इंटरफ़ेस" के तौर पर लेबल की गई खास क्लास शामिल हैं का पालन नहीं करता है. ये सामान्य क्लास हैं, जिनका इस्तेमाल रिटर्न टाइप के तौर पर किया जाता है उन तरीकों के लिए जिन्हें पहले से ही सटीक टाइप तय नहीं किया जा सकता; उदाहरण के लिए, दस्तावेज़ सेवा का तरीका Body.getChild(childIndex) सामान्य Element ऑब्जेक्ट दिखाता है. Element एक ऐसा इंटरफ़ेस है जो किसी अन्य क्लास को दिखाता है. ऐसा हो सकता है कि Paragraph या Table. इंटरफ़ेस ऑब्जेक्ट कभी-कभार ही होते हैं अपने लिए उपयोगी बनाती हैं; के बजाय, आप आम तौर पर Element.asParagraph() का इस्तेमाल करें.

Enum के साथ काम करना

ज़्यादातर सेवाओं में, नाम वाली वैल्यू की कुछ ईनम (एन्युमरेटेड टाइप) शामिल होती हैं. इसके लिए उदाहरण के लिए, Drive सेवा में enum का इस्तेमाल किया जाता है 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);