Google Apps Script menyediakan lebih dari 30 layanan bawaan untuk berinteraksi dengan
data pengguna, sistem Google
lain, dan sistem eksternal. Layanan ini
yang disediakan sebagai objek global
yang mirip dengan
Math
. Misalnya, sama seperti Math
menawarkan metode seperti random()
dan
konstanta seperti PI
, atribut
Layanan spreadsheet menawarkan metode seperti
openById(id)
,
class (objek turunan) seperti
Range
, dan enum seperti
DataValidationCriteria
.
Dokumentasi referensi untuk layanan yang mengontrol Google Workspace produk dikumpulkan di "Google Workspace Layanan" di bawah "Referensi" {i>header <i}di bilah sisi situs ini. Layanan utilitas (untuk berbagai hal seperti membuat antarmuka pengguna, mengurai XML, atau menulis data log) dikumpulkan di bagian "Layanan Skrip" bagian.
Fitur JavaScript modern
Apps Script mendukung dua runtime JavaScript: versi modern V8 dan runtime lama yang didukung oleh browser Mozilla Penafsir Rhino JavaScript.
Runtime V8 mendukung modernisasi Fitur dan sintaksis ECMAScript. Runtime Rhino didasarkan pada JavaScript 1.6 standar, ditambah beberapa fitur dari 1.7 dan 1,8. Anda dapat dengan bebas memilih runtime untuk digunakan dengan skrip Anda, tetapi {i>runtime<i} V8 sangat disarankan.
Setiap runtime mendukung class dan objek JavaScript yang tersedia untuk
tambahan selain skrip
dan layanan Google lanjutan. Nama
skrip dapat menggunakan
objek umum seperti
Array
,
Date
,
RegExp
,
dan sebagainya,
serta
Math
dan
Object
objek global.
Menggunakan pelengkapan otomatis
Editor skrip menyediakan "bantuan konten" , lebih sering disebut "pelengkapan otomatis," yang mengungkapkan 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 metode global yang menampilkan class Apps Script. Contoh:
- Jika Anda mengetik nama lengkap objek global atau memilih dari pelengkapan otomatis,
lalu ketik
.
(titik), Anda akan melihat semua metode dan enum untuk class tersebut. - Jika Anda mengetik beberapa karakter, Anda akan melihat semua yang diawali 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 mencakup empat objek global:
Browser
,
Logger
,
MimeType
, dan
Session
.
Metode panggilan
Objek global dari hampir semua bawaan atau layanan lanjutan mencakup metode yang data yang ditampilkan, atau class Apps Script. Skrip melakukan panggilan metode dalam format ini:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
Misalnya, skrip dapat mengirim email dengan memanggil
sendEmail(recipient, subject, body)
layanan Gmail seperti berikut:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Jika metode menampilkan class Apps Script lainnya, Anda dapat merangkai panggilan metode pada satu
garis. (Jenis nilai yang ditampilkan ditampilkan baik di pelengkapan otomatis maupun dalam referensi metode
documentation.) Misalnya, metode
DocumentApp.create()
menampilkan Document
; Dengan demikian,
dua bagian kode berikut adalah setara:
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.');
Mengakses class turunan
Setiap layanan berisi satu atau beberapa class turunan yang tidak dapat diakses dari
tingkat teratas seperti yang bisa dilakukan
oleh objek global. Anda tidak dapat menggunakan kata kunci new
untuk
membangun kelas-kelas ini, seperti yang bisa Anda lakukan dengan kelas-kelas JavaScript standar seperti
Date
;
Anda hanya dapat mengakses class turunan dengan memanggil metode yang mengembalikannya. Jika Anda
tidak yakin cara mengakses kelas tertentu, kunjungi laman {i>root<i} untuk
dokumentasi referensi dan cari metode yang menampilkan class yang Anda inginkan.
Menangani antarmuka
Beberapa layanan menyertakan kelas 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 persisnya terlebih dahulu; 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 untuk mereka sendiri; sebagai gantinya, Anda biasanya ingin memanggil metode seperti
Element.asParagraph()
untuk mentransmisikan objek kembali ke class yang tepat.
Bekerja dengan enum
Sebagian besar layanan menyertakan beberapa enum (jenis terenumerasi) nilai bernama. Sebagai
misalnya, layanan Drive menggunakan enum
Access
dan
Permission
untuk menentukan pengguna
memiliki akses ke
file atau folder. Di 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);