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 mirip dengan objek Math
standar JavaScript. Misalnya, seperti halnya Math menawarkan metode seperti random() dan konstanta seperti PI, layanan Spreadsheet Apps Script menawarkan metode seperti openById(id), class (objek turunan) seperti Range, dan enum seperti DataValidationCriteria.
Dokumentasi referensi untuk layanan yang mengontrol produk Google Workspace dikumpulkan di bagian "Layanan Google Workspace" di bagian "Referensi" di sidebar situs ini. Layanan utilitas (untuk hal-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 runtime yang lebih lama yang didukung oleh interpreter JavaScript Rhino Mozilla.
Runtime V8 mendukung sintaks dan fitur ECMAScript modern. Runtime Rhino didasarkan pada standar JavaScript 1.6 yang lebih lama, ditambah beberapa fitur dari 1.7 dan 1.8. Pilih runtime yang akan digunakan dengan skrip Anda, tetapi runtime V8 sangat direkomendasikan.
Setiap runtime mendukung class dan objek JavaScript yang tersedia untuk skrip Anda selain
layanan Google bawaan
dan tingkat lanjut. Skrip Anda dapat menggunakan objek umum seperti
Array,
Date,
RegExp,
dan sebagainya,
serta objek global
Math dan
Object.
Karena kode Apps Script berjalan di server Google (kecuali halaman HTML-service), fitur JavaScript berbasis browser seperti manipulasi DOM atau Window API tidak tersedia di Apps Script.
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 global, enum, atau panggilan metode 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 Anda mengetik beberapa karakter, Anda akan melihat semua saran valid yang dimulai dengan karakter tersebut.
Objek global
Setiap layanan menyediakan setidaknya satu objek global (tingkat teratas); misalnya, layanan Gmail diakses hanya dari
objek GmailApp. Beberapa layanan menyediakan beberapa objek global; misalnya, Base service mencakup empat objek global: Browser, Logger, MimeType, dan Session.
Metode
Objek global dari hampir semua layanan bawaan atau layanan lanjutan mencakup 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 metode menampilkan class Apps Script lain, panggil metode berantai
dalam satu baris. (Jenis yang ditampilkan ditampilkan dalam pelengkapan otomatis dan dalam dokumentasi referensi metode.) Misalnya, metode
DocumentApp.create()
menampilkan Document; jadi, dua bagian kode berikut 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.');
Kelas anak
Setiap layanan mencakup satu atau beberapa class turunan yang tidak dapat Anda akses dari tingkat teratas sebagai objek global. Anda juga tidak dapat menggunakan kata kunci new untuk
membuat class ini, seperti yang Anda lakukan dengan class JavaScript standar seperti
Date.
Untuk mengakses class turunan, Anda harus memanggil metode yang menampilkannya. Jika Anda
tidak yakin cara mengakses class tertentu, buka halaman root untuk dokumentasi referensi
layanan—halaman ini mencantumkan class untuk layanan, dan metode
yang menampilkannya.
Antarmuka
Beberapa layanan menyertakan class yang diberi label "antarmuka" dalam dokumentasi referensi. Ini adalah class generik yang digunakan sebagai jenis nilai yang ditampilkan untuk metode yang tidak dapat menentukan jenis yang tepat sebelumnya. Misalnya, metode
Document service
Body.getChild(childIndex)
menampilkan objek Element generik.
Antarmuka Element mewakili class lain, mungkin
Paragraph atau
Table. Objek antarmuka jarang
berguna dengan sendirinya; sebagai gantinya, panggil metode seperti
Element.asParagraph()
untuk meng-cast objek kembali ke class tertentu.
Enum
Sebagian besar layanan menyertakan enum (jenis yang di-enum) dari nilai bernama. Misalnya, layanan Google Drive menggunakan
enum Access dan
Permission untuk menentukan pengguna mana yang
memiliki akses ke file atau folder. Dalam kebanyakan kasus, Anda mengakses enum ini dari
objek global, seperti yang ditunjukkan dalam contoh berikut:
// 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);