Library adalah project skrip yang fungsinya dapat digunakan kembali dalam skrip lain.
Mendapatkan akses ke library
Untuk menyertakan library dalam project, Anda harus memiliki setidaknya level tampilan akses terhadap data tersebut. Jika Anda bukan penulis perpustakaan yang ingin Anda sertakan, hubungi penulis dan minta akses.
Anda memerlukan ID skrip library yang ingin disertakan. Bila Anda memiliki akses ke library, Anda dapat menemukan ID skrip di Setelan Project
halaman.Menambahkan library ke project skrip
- Di sebelah kiri editor Apps Script, di samping "Library", klik Tambahkan library .
- Di "ID Skrip" , tempel ID skrip library.
- Klik Cari.
- Klik dropdown Versi dan pilih versi library untuk digunakan.
- Periksa untuk melihat apakah "ID" default adalah nama yang ingin Anda
gunakan dengan library ini. Ini adalah nama yang digunakan skrip Anda untuk
merujuk ke perpustakaan. Misalnya, jika Anda menetapkannya ke
Test
, Anda dapat panggil metode library tersebut sebagai berikut:Test.libraryMethod()
. - Klik Tambahkan.
Menggunakan library
Gunakan library yang disertakan seperti saat Anda menggunakan layanan default. Sebagai
misalnya, jika Test
adalah ID untuk library Anda, ketik
Test
langsung diikuti 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 koleksi
Di sebelah kiri editor skrip, di samping nama library, klik Lainnya
> Hapus > Hapus library.Mengupdate library
Anda dapat mengubah versi library atau mengupdate ID-nya.
- Di sebelah kiri editor, di bagian "Library", klik nama library.
- Lakukan perubahan, lalu klik Simpan.
Membuat dan membagikan galeri foto
Untuk menggunakan dan membagikan project skrip Anda sebagai library, ikuti langkah-langkah di bawah ini.
- Membuat deployment berversi dalam skrip.
- Bagikan setidaknya akses tingkat tampilan kepada semua calon pengguna library.
- Berikan ID skrip kepada pengguna tersebut, yang dapat ditemukan di halaman Project setelan halaman.
Praktik terbaik
Berikut adalah beberapa panduan yang harus diikuti saat menulis library:
- Pilih nama yang berarti untuk proyek Anda karena digunakan sebagai ID default saat library Anda disertakan oleh orang lain.
- Jika Anda ingin satu atau beberapa metode skrip tidak terlihat (atau
dapat digunakan) untuk pengguna {i>library<i}, Anda dapat mengakhiri nama metode dengan
garis bawah. Misalnya,
myPrivateMethod_()
. - Hanya properti global yang dapat dienumerasi yang terlihat oleh pengguna library. Ini mencakup fungsi
deklarasi, variabel yang dibuat di luar fungsi dengan
var
, dan properti ditetapkan secara eksplisit pada objek global. Misalnya,Object.defineProperty()
denganenumerable
ditetapkan kefalse
membuat simbol yang bisa Anda gunakan di koleksi, tetapi simbol ini tidak dapat diakses oleh pengguna. Jika Anda ingin pengguna perpustakaan menggunakan pelengkapan otomatis editor skrip dan dokumentasi yang dihasilkan secara otomatis, Anda harus memiliki JSDoc-style dokumentasi 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) { ... }
Cakupan resource
Ada dua jenis resource saat Anda menggunakan library: dan tidak dibagikan. Sumber daya bersama berarti bahwa perpustakaan dan sumber daya yang memiliki akses bawaan ke instance resource yang sama. Tujuan diagram berikut mengilustrasikan resource bersama menggunakan contoh Properti Pengguna:
Sumber daya yang tidak dibagikan berarti pustaka dan skrip yang disertakan memiliki akses bawaan ke instance resource-nya saja. Namun, library dapat menyediakan akses ke sumber daya yang tidak dibagikan dengan mengoperasikannya. Berikut adalah contoh suatu {i>function<i} yang akan Anda sertakan pada library Anda 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 referensi bersama dan tidak dibagikan sebagai referensi Anda:
Resource | Dibagikan* | Tidak Dibagikan** | Catatan |
---|---|---|---|
Kunci | Instance yang sama terlihat oleh semua skrip yang disertakan saat dibuat di perpustakaan. | ||
Properti Skrip | Instance yang sama terlihat oleh semua skrip yang disertakan saat dibuat di perpustakaan. | ||
Cache | Instance yang sama terlihat oleh semua skrip yang disertakan saat dibuat di perpustakaan. | ||
Pemicu | Pemicu sederhana yang dibuat di library tidak dipicu oleh penyertaan {i>script<i}. | ||
ScriptApp | |||
UiApp |
|
||
Properti Pengguna | |||
Pencatat log dan transkrip eksekusi | |||
Sites, Spreadsheet, dan penampung lainnya | Panggilan ke getActive() akan menampilkan penampung
termasuk naskah. |
||
MailApp dan GmailApp | |||
* Ini berarti library tersebut tidak memiliki instance
fitur/resource dan sebagai gantinya, menggunakan yang dibuat oleh skrip
yang memanggilnya.
** Ini berarti pustaka memiliki instance sendiri dari sumber daya/fitur dan semua skrip yang menggunakan pustaka itu berbagi dan memiliki akses ke skrip itu instance yang sama. |
Menguji library
Untuk menguji library, gunakan head deployment. Siapa saja yang memiliki level editor akses ke skrip dapat menggunakan deployment head.
Men-debug library
Saat menggunakan debugger dalam project yang menyertakan library yang dapat masuk ke dalam fungsi dari {i>library<i} yang disertakan. Kode muncul di debugger dalam mode {i>view-only<i} dan pada versi yang tepat.