google.script.run adalah JavaScript API sisi klien asinkron yang tersedia di
  Halaman layanan HTML yang dapat memanggil Apps Script sisi server
  fungsi-fungsi lainnya. Untuk berinteraksi dengan dialog atau sidebar di Google Dokumen, Spreadsheet, atau Formulir dari sisi klien
  dari kode tersebut, gunakan google.script.host. Untuk informasi selengkapnya, lihat
  panduan untuk berkomunikasi dengan fungsi server
  dalam layanan HTML.
Metode
| Metode | Jenis hasil yang ditampilkan | Deskripsi singkat | 
|---|---|---|
| myFunction(...)(fungsi sisi server apa pun) | void | Mengeksekusi fungsi Apps Script sisi server dengan nama yang sesuai. | 
| withFailureHandler(function) | google.script.run | Menetapkan fungsi callback untuk dijalankan jika fungsi sisi server menampilkan pengecualian. | 
| withSuccessHandler(function) | google.script.run | Menetapkan fungsi callback untuk dijalankan jika fungsi sisi server berhasil ditampilkan. | 
| withUserObject(object) | google.script.run | Menetapkan objek untuk diteruskan sebagai parameter kedua ke pengendali berhasil dan gagal. | 
Dokumentasi mendetail
myFunction(...) (fungsi sisi server apa pun)
Mengeksekusi 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 jenisnya legal, tetapi bukan Date,Function,
  atau elemen DOM selainform; lihat deskripsi | Parameter hukum adalah JavaScript
  elemen dasar seperti Number,Boolean,String, ataunull, serta objek dan array JavaScript yang terdiri dari primitif,
  objek, dan array. Elemenformdi dalam halaman juga sah sebagai parameter, tetapi
  parameter tersebut harus menjadi satu-satunya parameter fungsi. Permintaan akan gagal jika Anda mencoba meneruskanDate,Function, elemen DOM selainform, atau elemen
  jenis yang dilarang, termasuk jenis yang dilarang di dalam objek atau array. Objek yang berbentuk lingkaran
  referensi juga akan gagal, dan kolom yang tidak ditentukan dalam array menjadinull. Perlu diketahui bahwa
  sebuah objek yang diteruskan ke server 
menjadi salinan aslinya. Jika fungsi server menerima
  dan mengubah propertinya, properti pada klien tidak terpengaruh. | 
Pulang pergi
void — metode ini asinkron dan tidak ditampilkan secara langsung; Namun,
  fungsi sisi server dapat mengembalikan nilai ke klien sebagai parameter yang diteruskan ke
  pengendali keberhasilan; juga, jenis nilai yang ditampilkan tunduk pada
  batasan yang sama seperti jenis parameter, kecuali bahwa elemen form bukan
  jenis nilai yang ditampilkan
withFailureHandler(function)
Menetapkan fungsi callback untuk dijalankan jika fungsi sisi server menampilkan pengecualian. Tujuan
  Error
  diteruskan ke fungsi sebagai argumen pertama, dan
  objek pengguna (jika ada) diteruskan sebagai argumen kedua. Tanpa
  sebagai pengendali kegagalan, kegagalan akan 
dicatat ke konsol JavaScript. Untuk menggantinya, panggil
  withFailureHandler(null) atau menyediakan 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 untuk
  berjalan jika fungsi sisi server menampilkan pengecualian; tindakan Errorditeruskan ke fungsi sebagai argumen pertama, dan
  objek pengguna (jika ada) diteruskan sebagai argumen kedua | 
Pulang pergi
google.script.run — "pelari skrip" ini, untuk perantaian
withSuccessHandler(function)
Menetapkan fungsi callback untuk dijalankan jika fungsi sisi server berhasil ditampilkan. Layanan nilai yang ditampilkan 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 untuk berjalan jika fungsi sisi-server berhasil dikembalikan; nilai yang dikembalikan server diteruskan ke metode berfungsi sebagai argumen pertama, dan objek pengguna (jika ada) diteruskan sebagai argumen kedua | 
Pulang pergi
google.script.run — "pelari skrip" ini, untuk perantaian
withUserObject(object)
Menetapkan objek untuk diteruskan sebagai parameter kedua ke pengendali berhasil dan gagal. "Pengguna
  object" — jangan tertukar dengan
  Class User — memungkinkan callback
  fungsi merespons konteks di mana 
klien menghubungi server. Karena objek pengguna
  tidak dikirim ke server, mereka tidak tunduk pada pembatasan parameter dan
  untuk panggilan server. Namun, objek pengguna tidak boleh berupa objek
  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()" />
  </body>
</html>Parameter
| Nama | Jenis | Deskripsi | 
|---|---|---|
| object | Object | objek untuk diteruskan sebagai parameter kedua
  untuk pengendali keberhasilan dan kegagalan; karena objek pengguna tidak dikirim ke server,
  tunduk pada pembatasan parameter 
dan nilai yang dikembalikan untuk
  panggilan server. Namun, objek pengguna tidak dapat berupa objek yang dibuat
  dengan operator new | 
Pulang pergi
google.script.run — "pelari skrip" ini, untuk perantaian