Library adalah project skrip yang fungsinya dapat digunakan kembali dalam skrip lain.
Mendapatkan akses ke koleksi
Untuk menyertakan library dalam project, Anda setidaknya harus memiliki akses tingkat tampilan ke library tersebut. Jika Anda bukan penulis library yang ingin Anda sertakan, hubungi penulis dan minta akses.
Anda memerlukan ID skrip library yang ingin Anda sertakan. Jika memiliki akses ke library, Anda dapat menemukan ID skrip di halaman Setelan Project
.Menambahkan library ke project skrip
- Di sebelah kiri editor Apps Script, di samping "Library", klik Tambahkan library .
- Di kolom "ID Skrip", tempelkan ID skrip library.
- Klik Cari.
- Klik dropdown Version dan 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 menetapkannya ke
Test
maka Anda dapat memanggil metode library tersebut sebagai berikut:Test.libraryMethod()
. - Klik Tambahkan.
Menggunakan library
Gunakan library yang disertakan seperti yang Anda lakukan pada layanan default. Misalnya, jika Test
adalah ID untuk library Anda, ketik Test
yang langsung diikuti dengan titik untuk melihat daftar metode dalam library.
Dokumentasi referensi untuk library yang disertakan dapat dibuka dengan mengikuti langkah-langkah berikut:
Di sebelah kiri editor skrip, di samping nama library, klik Lainnya
> Buka di tab baru.Menghapus library
Di sebelah kiri editor skrip, di samping nama library, klik Lainnya
> Hapus > Hapus library.Mengupdate library
Anda dapat mengubah versi library atau memperbarui ID-nya.
- Di sebelah kiri editor, di bagian "Library", klik nama library.
- Lakukan perubahan, lalu klik Simpan.
Membuat dan membagikan library
Untuk menggunakan dan membagikan project skrip Anda sebagai library, ikuti langkah-langkah di bawah.
- Buat deployment sesuai versi skrip Anda.
- Berbagi minimal akses tingkat tampilan dengan semua calon pengguna library.
- Berikan ID skrip tersebut kepada pengguna, 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 tersebut digunakan sebagai ID default saat library Anda disertakan oleh orang lain.
- Jika ingin satu atau beberapa metode skrip tidak terlihat (atau tidak dapat digunakan) oleh pengguna library, Anda dapat mengakhiri nama metode dengan garis bawah. Misalnya,
myPrivateMethod_()
. - Hanya properti global yang dapat dihitung yang terlihat oleh pengguna library. Hal ini mencakup deklarasi fungsi, variabel yang dibuat di luar fungsi dengan
var
, dan properti yang secara eksplisit ditetapkan pada objek global. Misalnya,Object.defineProperty()
denganenumerable
yang ditetapkan kefalse
akan membuat simbol yang dapat Anda gunakan di library, tetapi simbol ini tidak dapat diakses oleh pengguna Anda. Jika Anda ingin pengguna library memanfaatkan pelengkapan otomatis editor skrip dan dokumentasi yang dihasilkan secara otomatis, Anda harus memiliki dokumentasi bergaya JSDoc untuk semua fungsi. 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) { ... }
Cakupan resource
Ada dua jenis resource saat Anda menggunakan library: bersama dan tidak dibagikan. Resource bersama berarti library dan skrip yang disertakan memiliki akses bawaan ke instance resource yang sama. Diagram berikut mengilustrasikan resource bersama menggunakan contoh Properti Pengguna:
Resource yang tidak dibagikan berarti library dan skrip yang disertakan memiliki akses bawaan hanya ke instance resource-nya. Namun, library dapat memberikan akses ke resource yang tidak dibagikan dengan memiliki fungsi eksplisit yang beroperasi padanya. Berikut adalah contoh fungsi yang akan Anda sertakan dalam library untuk mengekspos Properti Skripnya:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
Diagram berikut mengilustrasikan 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 skrip, termasuk yang dibuat dalam library. | ||
Properti Skrip | Instance yang sama dapat dilihat oleh semua skrip, termasuk yang dibuat dalam library. | ||
Cache | Instance yang sama dapat dilihat oleh semua skrip, termasuk yang dibuat dalam library. | ||
Pemicu | Pemicu sederhana yang dibuat di library tidak dipicu oleh skrip yang Menyertakan. | ||
SkripAplikasi | |||
AplikasiUI |
|
||
Properti Pengguna | |||
Transkrip logger dan eksekusi | |||
Sites, Spreadsheet, dan penampung lainnya | Panggilan ke getActive() akan menampilkan penampung skrip yang disertakan. |
||
MailApp dan GmailApp | |||
* Artinya, library ini tidak memiliki instance fitur/resource-nya sendiri dan menggunakan library yang dibuat oleh skrip yang memanggilnya.
** Artinya, library ini memiliki instance resource/fiturnya sendiri dan bahwa semua skrip yang menggunakan library tersebut memiliki akses ke instance yang sama. |
Menguji library
Untuk menguji library Anda, gunakan deployment head. Siapa saja yang memiliki akses tingkat editor ke skrip dapat menggunakan head deployment.
Men-debug library
Saat menggunakan debugger dalam project yang menyertakan library, Anda dapat melangkah ke fungsi library yang disertakan. Kode ini muncul di debugger dalam mode hanya lihat dan pada versi yang tepat.