google.script.run
adalah JavaScript API sisi klien asinkron yang tersedia di
halaman layanan HTML yang dapat memanggil fungsi Apps Script
sisi server. Untuk berinteraksi dengan dialog atau sidebar di Google Dokumen, Spreadsheet, atau Formulir dari kode sisi klien, gunakan google.script.host
. Untuk mengetahui informasi lebih lanjut, lihat
panduan berkomunikasi dengan fungsi server
dalam layanan HTML.
Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
---|---|---|
myFunction(...) (fungsi sisi server apa pun) |
void |
Menjalankan fungsi Apps Script sisi server dengan nama yang sesuai. |
withFailureHandler(function) |
google.script.run |
Menetapkan fungsi callback yang akan dijalankan jika fungsi sisi server menampilkan pengecualian. |
withSuccessHandler(function) |
google.script.run |
Menetapkan fungsi callback yang akan dijalankan jika fungsi sisi server berhasil ditampilkan. |
withUserObject(object) |
google.script.run |
Menyetel objek yang akan diteruskan sebagai parameter kedua ke pengendali berhasil dan gagal. |
Dokumentasi mendetail
myFunction(...)
(fungsi sisi server apa pun)
Menjalankan fungsi Apps Script sisi server dengan nama yang sesuai.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function doSomething() { Logger.log('I was called!'); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> google.script.run.doSomething(); </script> </head> <body> </body> </html>
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
... | Sebagian besar jenis bersifat legal, tetapi bukan elemen Date , Function ,
atau DOM selain form ; lihat deskripsi | Parameter hukum adalah primitif JavaScript seperti Number , Boolean , String , atau null , serta objek dan array JavaScript yang terdiri dari primitif, objek, dan array. Elemen form di dalam halaman juga sah sebagai parameter, tetapi harus menjadi satu-satunya parameter fungsi. Permintaan akan gagal jika Anda mencoba meneruskan
Date , Function , elemen DOM selain form , atau jenis
yang dilarang lainnya, termasuk jenis yang dilarang di dalam objek atau array. Objek yang membuat referensi melingkar juga akan gagal, dan kolom yang tidak ditentukan dalam array akan menjadi null . Perhatikan bahwa objek yang diteruskan ke server akan menjadi salinan aslinya. Jika fungsi server menerima objek dan mengubah propertinya, properti pada klien tidak akan terpengaruh. |
Return
void
— metode ini asinkron dan tidak kembali secara langsung; tetapi, fungsi sisi server dapat menampilkan nilai ke klien sebagai parameter yang diteruskan ke pengendali sukses. Selain itu, jenis nilai yang ditampilkan tunduk pada pembatasan yang sama seperti jenis parameter, hanya saja elemen form
bukan jenis nilai yang ditampilkan yang sah
withFailureHandler(function)
Menetapkan fungsi callback yang akan dijalankan jika fungsi sisi server menampilkan pengecualian. Objek
Error
diteruskan ke fungsi sebagai argumen pertama, dan
objek pengguna (jika ada) akan diteruskan sebagai argumen kedua. Tanpa pengendali kegagalan, kegagalan akan dicatat ke konsol JavaScript. Untuk menggantinya, panggil withFailureHandler(null)
atau berikan pengendali kegagalan yang tidak melakukan apa pun.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getUnreadEmails() { // 'got' instead of 'get' will throw an error. return GmailApp.gotInboxUnreadCount(); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function onFailure(error) { var div = document.getElementById('output'); div.innerHTML = "ERROR: " + error.message; } google.script.run.withFailureHandler(onFailure) .getUnreadEmails(); </script> </head> <body> <div id="output"></div> </body> </html>
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
function | Function | fungsi callback sisi klien yang akan dijalankan jika fungsi sisi server menampilkan pengecualian; objek Error diteruskan ke fungsi sebagai argumen pertama, dan objek pengguna (jika ada) diteruskan sebagai argumen kedua |
Return
google.script.run
— "runner skrip" ini, untuk perantaian
withSuccessHandler(function)
Menetapkan fungsi callback yang akan dijalankan jika fungsi sisi server berhasil ditampilkan. Nilai yang ditampilkan server diteruskan ke fungsi sebagai argumen pertama, dan objek pengguna (jika ada) diteruskan sebagai argumen kedua.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getUnreadEmails() { return GmailApp.getInboxUnreadCount(); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function onSuccess(numUnread) { var div = document.getElementById('output'); div.innerHTML = 'You have ' + numUnread + ' unread messages in your Gmail inbox.'; } google.script.run.withSuccessHandler(onSuccess) .getUnreadEmails(); </script> </head> <body> <div id="output"></div> </body> </html>
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
function | Function | fungsi callback sisi klien yang akan dijalankan jika fungsi sisi server berhasil ditampilkan; nilai kembali server diteruskan ke fungsi sebagai argumen pertama, dan objek pengguna (jika ada) diteruskan sebagai argumen kedua |
Return
google.script.run
— "runner skrip" ini, untuk perantaian
withUserObject(object)
Menyetel objek yang akan diteruskan sebagai parameter kedua ke pengendali berhasil dan gagal. "Objek pengguna" ini — yang tidak sama dengan class User
— memungkinkan fungsi callback merespons konteks saat klien menghubungi server. Karena objek pengguna
tidak dikirim ke server, objek tersebut tidak tunduk pada pembatasan parameter dan menampilkan
nilai untuk panggilan server. Namun, objek pengguna tidak boleh berupa objek yang dibuat dengan operator new
.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getEmail() { return Session.getActiveUser().getEmail(); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function updateButton(email, button) { button.value = 'Clicked by ' + email; } </script> </head> <body> <input type="button" value="Not Clicked" onclick="google.script.run .withSuccessHandler(updateButton) .withUserObject(this) .getEmail()" /> <input type="button" value="Not Clicked" onclick="google.script.run .withSuccessHandler(updateButton) .withUserObject(this) .getEmail()" /> </body> </html>
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
object | Object | objek yang akan diteruskan sebagai parameter kedua ke pengendali berhasil dan gagal; karena objek pengguna tidak dikirim ke server, objek tersebut tidak tunduk pada pembatasan parameter dan menampilkan nilai untuk panggilan server. Namun, objek pengguna tidak boleh berupa objek yang dibuat dengan operator new |
Return
google.script.run
— "runner skrip" ini, untuk perantaian