Library adalah project skrip yang fungsinya dapat digunakan kembali dalam skrip lain.
Mendapatkan akses ke pustaka
Untuk menyertakan library dalam project, Anda harus memiliki akses setidaknya tingkat lihat ke library tersebut. Jika Anda bukan penulis library yang ingin disertakan, hubungi penulis dan minta akses.
Anda memerlukan ID skrip library yang ingin disertakan. Jika Anda memiliki akses ke library, Anda dapat menemukan ID skrip di halaman Setelan Project
.Menambahkan library ke project skrip Anda
- Di sebelah kiri editor Apps Script, di samping "Library", klik Tambahkan library .
- Di kolom "ID skrip", tempelkan ID skrip library.
- Klik Cari.
- Klik dropdown Versi, lalu pilih versi library yang akan digunakan.
- Periksa apakah nama "ID" default adalah nama yang ingin Anda gunakan dengan library ini. Ini adalah nama yang digunakan skrip Anda untuk
merujuk ke library. Misalnya, jika Anda menyetelnya ke
Test
, Anda dapat memanggil metode library tersebut sebagai berikut:Test.libraryMethod()
. - Klik Tambahkan.
Menggunakan library
Gunakan library yang disertakan seperti Anda menggunakan layanan default. Misalnya, jika Test
adalah ID untuk library Anda, ketik
Test
yang segera diikuti dengan titik untuk melihat daftar metode di library.
Dokumentasi referensi untuk library yang disertakan dapat dibuka dengan mengikuti langkah-langkah berikut:
Di sebelah kiri editor skrip, di samping nama pustaka, klik Lainnya
> Buka di tab baru.Menghapus perpustakaan
Di sebelah kiri editor skrip, di samping nama pustaka, klik Lainnya
> Hapus > Hapus pustaka.Memperbarui library
Anda dapat mengubah versi pustaka atau memperbarui ID-nya.
- Di sebelah kiri editor, di bagian "Pustaka", klik nama pustaka.
- Lakukan perubahan, lalu klik Simpan.
Membuat dan membagikan koleksi
Untuk menggunakan dan membagikan project skrip Anda sebagai library, ikuti langkah-langkah di bawah.
- Buat deployment versi skrip Anda.
- Bagikan setidaknya akses tingkat lihat kepada semua calon pengguna perpustakaan.
- Berikan ID skrip kepada pengguna tersebut, yang dapat ditemukan di halaman Setelan project .
Praktik terbaik
Berikut adalah beberapa panduan yang harus diikuti saat menulis library:
- Pilih nama yang bermakna untuk project Anda karena nama ini digunakan sebagai ID default saat library Anda disertakan oleh orang lain.
- Jika Anda ingin satu atau beberapa metode skrip Anda tidak terlihat (atau
dapat digunakan) oleh pengguna pustaka, Anda dapat mengakhiri nama metode dengan
garis bawah. Misalnya,
myPrivateMethod_()
. - Hanya properti global yang dapat di-enumerasi yang dapat dilihat oleh pengguna pustaka. Hal ini mencakup deklarasi fungsi, variabel yang dibuat di luar fungsi dengan
var
, dan properti yang ditetapkan secara eksplisit pada objek global. Misalnya,Object.defineProperty()
denganenumerable
yang ditetapkan kefalse
membuat simbol yang dapat Anda gunakan di pustaka, tetapi simbol ini tidak dapat diakses oleh pengguna Anda. Jika Anda ingin pengguna library Anda memanfaatkan pelengkapan otomatis editor skrip dan dokumentasi yang dibuat secara otomatis, Anda harus memiliki dokumentasi gaya JSDoc untuk semua fungsi Anda. Berikut contohnya:
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
Pemberian cakupan resource
Ada dua jenis resource saat Anda bekerja dengan library: dibagikan dan tidak dibagikan. Resource bersama berarti bahwa library dan skrip yang menyertakan memiliki akses bawaan ke instance resource yang sama. Diagram berikut menggambarkan resource bersama menggunakan contoh Properti Pengguna:
Resource yang tidak dibagikan berarti library dan skrip yang menyertakan hanya memiliki akses bawaan ke instance resource-nya. Namun, library dapat memberikan akses ke resource yang tidak dibagikan dengan memiliki fungsi eksplisit yang beroperasi di dalamnya. Berikut adalah contoh fungsi yang akan Anda sertakan dalam library untuk mengekspos Properti Skripnya:
function getLibraryProperty(key) {
const scriptProperties = PropertiesService.getScriptProperties();
return scriptProperties.getProperty(key);
}
Diagram berikut menggambarkan resource yang tidak dibagikan menggunakan contoh Properti Skrip:
Tabel ini mencantumkan resource yang dibagikan dan tidak dibagikan untuk referensi Anda:
Resource | Dibagikan* | Tidak Dibagikan** | Catatan |
---|---|---|---|
Kunci | Instance yang sama dapat dilihat oleh semua orang termasuk skrip saat dibuat di pustaka. | ||
Properti Skrip | Instance yang sama dapat dilihat oleh semua orang termasuk skrip saat dibuat di pustaka. | ||
Cache | Instance yang sama dapat dilihat oleh semua orang termasuk skrip saat dibuat di pustaka. | ||
Pemicu | Pemicu sederhana yang dibuat di library tidak dipicu oleh skrip yang disertakan. | ||
ScriptApp | |||
UiApp |
|
||
Properti Pengguna | |||
Logger dan transkrip eksekusi | |||
Situs, Spreadsheet, dan penampung lainnya | Panggilan ke getActive() menampilkan penampung
termasuk skrip. |
||
MailApp dan GmailApp | |||
* Artinya, library tidak memiliki instance fitur/resource sendiri dan menggunakan instance yang dibuat oleh skrip yang memanggilnya.
** Artinya, library memiliki instance resource/fiturnya sendiri dan semua skrip yang menggunakan library tersebut berbagi dan memiliki akses ke instance yang sama. |
Menguji library
Untuk menguji pustaka, gunakan deployment head. Siapa pun yang memiliki akses tingkat editor ke skrip dapat menggunakan deployment head.
Men-debug library
Saat menggunakan debugger dalam project yang menyertakan library, Anda dapat menelusuri fungsi library yang disertakan. Kode akan muncul di debugger dalam mode hanya lihat dan pada versi yang tepat.