Layanan Google Bawaan

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 Math yang 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 dikumpulkan di bagian " Layanan" pada header "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 lama yang didukung oleh penafsir JavaScript Rhino Mozilla.

Runtime V8 mendukung sintaksis dan fitur ECMAScript modern. Runtime Rhino didasarkan pada standar JavaScript 1.6 yang lebih lama, ditambah beberapa fitur dari 1.7 dan 1.8. Anda dapat bebas memilih runtime mana 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 bawaan dan lanjutan. 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 panggilan objek, enum, atau metode global yang menampilkan class Apps Script. Contoh:

  • Jika Anda mengetik nama lengkap objek global atau memilihnya dari pelengkapan otomatis, lalu mengetik . (titik), Anda akan melihat semua metode dan enum untuk class tersebut.
  • Jika mengetik beberapa karakter, Anda akan melihat semua sugesti yang valid yang diawali dengan karakter tersebut.

Memahami 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, Layanan dasar mencakup empat objek global: Browser, Logger, MimeType, dan Session.

Memanggil metode

Objek global dari hampir semua layanan bawaan atau layanan lanjutan menyertakan metode yang menampilkan data atau class Apps Script. Skrip membuat 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 ini:

GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');

Jika metode menampilkan class Apps Script lain, Anda dapat merantai panggilan metode di satu baris. (Jenis nilai yang ditampilkan dalam pelengkapan otomatis dan dalam dokumentasi referensi metode.) Misalnya, metode DocumentApp.create() menampilkan Document; sehingga, 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.');

Mengakses class turunan

Setiap layanan menyertakan satu atau beberapa class turunan yang tidak dapat diakses dari tingkat 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 dokumentasi referensi layanan dan cari metode yang menampilkan class yang Anda inginkan.

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 sebelumnya; 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 dengan sendirinya; sebagai gantinya, Anda biasanya ingin memanggil metode seperti Element.asParagraph() untuk mentransmisikan objek kembali ke class yang tepat.

Menggunakan enum

Sebagian besar layanan menyertakan beberapa enum (jenis yang dihitung) dari nilai yang diberi nama. 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  users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);