Google Apps Script menyediakan lebih dari 30 layanan bawaan untuk berinteraksi dengan
data pengguna, sistem Google lainnya, dan sistem eksternal. Layanan ini
disediakan sebagai objek global yang serupa dengan objek
Math
standar JavaScript. Misalnya, sama seperti Math
yang menawarkan metode seperti random()
dan konstanta seperti PI
, Layanan spreadsheet di Apps Script menawarkan metode seperti openById(id)
, class (objek turunan) seperti Range
, dan enum seperti DataValidationCriteria
.
Dokumentasi referensi untuk layanan yang mengontrol produkGoogle Workspace dikumpulkan di bagian "Google Workspace Layanan" di bawah header "Referensi" di sidebar situs ini. Layanan utilitas (untuk hal seperti membuat antarmuka pengguna, mengurai XML, atau menulis data log) dikumpulkan di bagian "Layanan Skrip".
Fitur JavaScript modern
Apps Script mendukung dua runtime JavaScript: runtime V8 modern dan yang lebih lama yang didukung oleh penafsir JavaScript Rhino dari Mozilla.
Runtime V8 mendukung sintaksis dan fitur ECMAScript modern. Runtime Rhino didasarkan pada standar JavaScript 1.6 lama, ditambah beberapa fitur dari 1.7 dan 1.8. Anda dapat bebas memilih runtime yang akan digunakan dengan skrip, tetapi runtime V8 sangat direkomendasikan.
Setiap runtime mendukung class dan objek JavaScript yang tersedia untuk skrip Anda, selain layanan Google lanjutan dan bawaan. Skrip
Anda dapat menggunakan objek umum seperti
Array
,
Date
,
RegExp
,
dan sebagainya,
serta objek global
Math
dan
Object
.
Menggunakan pelengkapan otomatis
Editor skrip menyediakan fitur "bantuan konten", yang lebih umum disebut "pelengkapan otomatis", yang menampilkan objek global serta metode dan enum yang valid dalam konteks skrip saat ini. Saran pelengkapan otomatis muncul secara otomatis setiap kali Anda mengetik titik setelah objek, enum, atau panggilan metode global yang menampilkan class Apps Script. Contoh:
- Jika Anda mengetik nama lengkap objek global atau memilih salah satu dari pelengkapan otomatis, lalu mengetik
.
(titik), Anda akan melihat semua metode dan enum untuk class tersebut. - Jika mengetik beberapa karakter, Anda akan melihat semua saran yang valid yang dimulai dengan karakter tersebut.
Memahami objek global
Setiap layanan menyediakan setidaknya satu objek global (tingkat teratas); misalnya, layanan Gmail hanya diakses dari objek GmailApp
. Beberapa layanan
menyediakan beberapa objek global; misalnya, Layanan dasar menyertakan empat objek global:
Browser
,
Logger
,
MimeType
, dan
Session
.
Metode panggilan
Objek global dari hampir semua layanan lanjutan atau bawaan menyertakan metode yang menampilkan data atau class Apps Script. Skrip melakukan panggilan metode dalam format ini:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
Misalnya, skrip dapat mengirim email dengan memanggil metode
sendEmail(recipient, subject, body)
layanan Gmail seperti berikut:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Jika suatu metode menampilkan class Apps Script lain, Anda dapat merangkai panggilan metode di satu
baris. (Jenis nilai yang ditampilkan ditampilkan dalam pelengkapan otomatis dan dalam dokumentasi
referensi metode.) Misalnya, metode DocumentApp.create()
menampilkan Document
; dengan demikian, dua bagian kode berikut setara:
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.');
Mengakses class turunan
Setiap layanan menyertakan satu atau beberapa class turunan yang tidak dapat diakses dari level teratas seperti yang dapat dilakukan objek global. Anda tidak dapat menggunakan kata kunci new
untuk
membuat class ini, seperti yang dapat Anda lakukan dengan class JavaScript standar seperti
Date
;
Anda hanya dapat mengakses class turunan dengan memanggil metode yang menampilkannya. Jika Anda
tidak yakin cara mengakses class tertentu, buka halaman root untuk mendapatkan dokumentasi referensi
layanan dan cari metode yang menampilkan class yang diinginkan.
Menangani antarmuka
Beberapa layanan menyertakan class khusus yang diberi label sebagai "antarmuka" dalam dokumentasi referensi. Ini adalah class generik yang digunakan sebagai jenis nilai yang ditampilkan untuk metode yang tidak dapat menentukan jenis yang tepat di awal; misalnya, metode Layanan dokumen Body.getChild(childIndex)
menampilkan objek Element
generik.
Element
adalah antarmuka yang mewakili beberapa class lain, mungkin
Paragraph
atau
Table
. Objek antarmuka jarang
berguna jika berdiri sendiri; sebagai gantinya, Anda biasanya ingin memanggil metode seperti
Element.asParagraph()
untuk menampilkan kembali objek ke class yang tepat.
Bekerja dengan enum
Sebagian besar layanan menyertakan beberapa enum (jenis terenumerasi) dari nilai bernama. Misalnya, layanan Drive menggunakan enum
Access
dan
Permission
untuk menentukan pengguna mana
yang memiliki akses ke file atau folder. Dalam hampir semua kasus, Anda mengakses enum ini
dari objek global. Misalnya, panggilan ke metode
Folder.setSharing(accessType, permissionType)
akan terlihat seperti ini:
// 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);