Class google.script.run (API sisi klien)

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

MetodeJenis hasil yang ditampilkanDeskripsi 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

NamaJenisDeskripsi
...Sebagian besar jenisnya legal, tetapi bukan Date, Function, atau elemen DOM selain form; lihat deskripsiParameter hukum adalah JavaScript elemen dasar 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 parameter tersebut harus menjadi satu-satunya parameter fungsi. Permintaan akan gagal jika Anda mencoba meneruskan Date, Function, elemen DOM selain form, 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 menjadi null. 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

NamaJenisDeskripsi
functionFunctionfungsi callback sisi klien untuk berjalan jika fungsi sisi server menampilkan pengecualian; tindakan Error diteruskan 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

NamaJenisDeskripsi
functionFunctionfungsi 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&quot; — 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()" />
    <input type="button" value="Not Clicked"
      onclick="google.script.run
          .withSuccessHandler(updateButton)
          .withUserObject(this)
          .getEmail()" />
  </body>
</html>

Parameter

NamaJenisDeskripsi
objectObjectobjek 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