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ạnh form ; xem nội dung mô tả | Các thông số pháp lý là JavaScript
dữ liệu gốc như Number , Boolean , String hoặc
null , 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ử form trong 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ột
Date , Function , phần tử DOM bên cạnh form , 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ành null . 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()" /> <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