google.script.run là một API JavaScript phía máy khách không đồng bộ có trong
  Các trang dịch vụ HTML có thể gọi Apps Script phía máy chủ
  . Để tương tác với hộp thoại hoặc thanh bên trong Google Tài liệu, Trang tính hoặc Biểu mẫu ở phía máy khách
  mã, hãy sử dụng google.script.host. Để biết thêm thông tin, hãy xem
  hướng dẫn giao tiếp với các chức năng của máy chủ
  trong dịch vụ HTML.
Phương thức
| Phương thức | Loại dữ liệu trả về | Mô tả ngắn | 
|---|---|---|
| myFunction(...)(hàm phía máy chủ bất kỳ) | void | Thực thi hàm Apps Script phía máy chủ bằng tên tương ứng. | 
| withFailureHandler(function) | google.script.run | Thiết lập một hàm callback để chạy nếu hàm phía máy chủ gửi một ngoại lệ. | 
| withSuccessHandler(function) | google.script.run | Thiết lập một hàm callback để chạy nếu hàm phía máy chủ trả về thành công. | 
| withUserObject(object) | google.script.run | Thiết lập một đối tượng để truyền dưới dạng tham số thứ hai đến các trình xử lý thành công và không thành công. | 
Tài liệu chi tiết
myFunction(...) (hàm phía máy chủ bất kỳ)
Thực thi hàm Apps Script phía máy chủ bằng tên tương ứng.
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>Tham số
| Tên | Loại | Mô tả | 
|---|---|---|
| ... | Hầu hết các loại đều hợp pháp, nhưng không phải Date,Function,
  hoặc phần tử DOM bên cạnhform; xem nội dung mô tả | Các thông số pháp lý là JavaScript
  dữ liệu gốc như Number,Boolean,Stringhoặcnull, cũng như các đối tượng và mảng JavaScript bao gồm các dữ liệu nguyên gốc,
  đối tượng và mảng. Phần tửformtrong trang cũng hợp pháp dưới dạng thông số, nhưng
  đó phải là tham số duy nhất của hàm. Yêu cầu không thành công nếu bạn cố gắng chuyển mộtDate,Function, phần tử DOM bên cạnhform, hoặc các phần tử khác
  loại bị cấm, bao gồm các loại bị cấm bên trong đối tượng hoặc mảng. Các đối tượng tạo ra vòng tròn
  các tham chiếu cũng sẽ không thành công và các trường không xác định trong các mảng sẽ trở thànhnull. Lưu ý rằng
  một đối tượng được truyền đến máy chủ sẽ trở thành bản sao của đối tượng gốc. Nếu một hàm máy chủ nhận được một
  và thay đổi thuộc tính của đối tượng đó thì các thuộc tính trên ứng dụng sẽ không bị ảnh hưởng. | 
Cầu thủ trả bóng
void – phương thức này không đồng bộ và không trực tiếp trả về; tuy nhiên,
  hàm phía máy chủ có thể trả về một giá trị cho máy khách dưới dạng một tham số được truyền đến một
  trình xử lý thành công; Ngoài ra, loại dữ liệu trả về phải tuân theo
  các hạn chế giống như các loại thông số, ngoại trừ việc phần tử form không phải là phần tử hợp pháp
  loại dữ liệu trả về
withFailureHandler(function)
Thiết lập một hàm callback để chạy nếu hàm phía máy chủ gửi một ngoại lệ. Chiến lược phát hành đĩa đơn
  Error
  được truyền vào hàm làm đối số đầu tiên và
  đối tượng người dùng (nếu có) được truyền dưới dạng đối số thứ hai. Không có
  trình xử lý lỗi, các lỗi được ghi vào bảng điều khiển JavaScript. Để ghi đè giá trị này, hãy gọi
  withFailureHandler(null) hoặc cung cấp một trình xử lý lỗi không làm gì cả.
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>Tham số
| Tên | Loại | Mô tả | 
|---|---|---|
| function | Function | một hàm callback phía máy khách để
  chạy nếu hàm phía máy chủ gửi một ngoại lệ; thời gian Errorđược truyền vào hàm làm đối số đầu tiên và
  đối tượng người dùng (nếu có) được truyền dưới dạng đối số thứ hai | 
Cầu thủ trả bóng
google.script.run — "trình chạy tập lệnh" này, để xâu chuỗi
withSuccessHandler(function)
Thiết lập một hàm callback để chạy nếu hàm phía máy chủ trả về thành công. Của máy chủ giá trị trả về được chuyển vào hàm dưới dạng đối số đầu tiên, còn đối tượng người dùng (nếu có) được truyền dưới dạng đối số thứ hai.
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>Tham số
| Tên | Loại | Mô tả | 
|---|---|---|
| function | Function | một hàm callback phía máy khách để chạy nếu hàm phía máy chủ trả về thành công; giá trị trả về của máy chủ được chuyển đến làm đối số đầu tiên và đối tượng người dùng (nếu có) được truyền dưới dạng đối số thứ hai | 
Cầu thủ trả bóng
google.script.run — "trình chạy tập lệnh" này, để xâu chuỗi
withUserObject(object)
Thiết lập một đối tượng để truyền dưới dạng tham số thứ hai đến các trình xử lý thành công và không thành công. "Người dùng" này
  object" — đừng nhầm lẫn với
  Lớp User – cho phép phương thức gọi lại
  các hàm này phản hồi ngữ cảnh mà máy khách liên hệ với máy chủ. Vì đối tượng người dùng
  không được gửi đến máy chủ mà không phải tuân theo các hạn chế về tham số và giá trị trả về
  cho lệnh gọi máy chủ. Tuy nhiên, đối tượng người dùng không thể là đối tượng
  được tạo bằng toán tử 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>Tham số
| Tên | Loại | Mô tả | 
|---|---|---|
| object | Object | một đối tượng được truyền dưới dạng tham số thứ hai
  cho trình xử lý thành công và thất bại; bởi vì đối tượng người dùng không được gửi đến máy chủ, nên chúng không
  tuân theo các hạn chế về tham số và giá trị trả về của
  lệnh gọi máy chủ. Tuy nhiên, đối tượng người dùng không thể là đối tượng được tạo dựng
  với toán tử new | 
Cầu thủ trả bóng
google.script.run — "trình chạy tập lệnh" này, để xâu chuỗi