google.script.run
es una API de JavaScript asíncrona del cliente disponible en
Páginas de servicios HTML que pueden llamar a Apps Script del servidor
funciones. Interactuar con cuadros de diálogo o barras laterales en Documentos, Hojas de cálculo o Formularios de Google desde el cliente
usa google.script.host
. Para obtener más información, consulta la
guía para la comunicación con las funciones del servidor
en el servicio HTML.
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
myFunction(...) (cualquier función del servidor) |
void |
Ejecuta la función de Apps Script del servidor con el nombre correspondiente. |
withFailureHandler(function) |
google.script.run |
Establece una función de devolución de llamada para que se ejecute si la función del servidor muestra una excepción. |
withSuccessHandler(function) |
google.script.run |
Establece una función de devolución de llamada para que se ejecute si la función del servidor se muestra correctamente. |
withUserObject(object) |
google.script.run |
Configura un objeto para pasar como segundo parámetro a los controladores de éxito y falla. |
Documentación detallada
myFunction(...)
(cualquier función del servidor)
Ejecuta la función de Apps Script del servidor con el nombre correspondiente.
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>
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
... | La mayoría de los tipos son legales, pero no se admiten Date , Function ,
o un elemento DOM además de form ; ver descripción | Los parámetros legales son JavaScript
primitivas, como Number , Boolean , String o
null , así como arrays y objetos de JavaScript compuestos por primitivas,
objetos y arrays. Un elemento form dentro de la página también es legal como parámetro, pero
debe ser el único parámetro de la función. Las solicitudes fallan si intentas pasar un
Date , Function , elemento DOM además de form , o bien otro
el tipo prohibido, incluidos los tipos prohibidos dentro de objetos o arrays. Los objetos que crean imágenes
las referencias también fallarán, y los campos indefinidos de los arrays se convertirán en null . Ten en cuenta que
un objeto que se pasa al servidor se convierte en una copia del original. Si una función de servidor recibe un
y cambia sus propiedades, las propiedades del cliente no se ven afectadas. |
Volver
void
: Este método es asíncrono y no muestra resultados directamente. Sin embargo,
del servidor puede mostrar un valor al cliente como un parámetro que se pasa a un
controlador de éxito; Los tipos de datos que se muestran están sujetos a las
con las mismas restricciones que los tipos de parámetros, con la excepción de que un elemento form
no es una regla
tipo de datos que se devuelve
withFailureHandler(function)
Establece una función de devolución de llamada para que se ejecute si la función del servidor muestra una excepción. El
Error
objeto se pasa a la función como primer argumento, y la
El objeto de usuario (si existe) se pasa como un segundo argumento. Sin
un controlador de fallas, las fallas se registran en la Consola de JavaScript. Para anular esto, llama a
withFailureHandler(null)
o proporciona un controlador de fallas que no haga nada.
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>
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
function | Function | una función de devolución de llamada del cliente
ejecutar si la función del servidor arroja una excepción; el
Error
objeto se pasa a la función como primer argumento, y la
El objeto de usuario (si existe) se pasa como un segundo argumento. |
Volver
google.script.run
: Este "ejecutor de secuencias de comandos" para encadenar
withSuccessHandler(function)
Establece una función de devolución de llamada para que se ejecute si la función del servidor se muestra correctamente. El nombre del servidor el valor que se muestra se pasa a la función como primer argumento, y la El objeto de usuario (si existe) se pasa como un segundo argumento.
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>
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
function | Function | una función de devolución de llamada del cliente ejecutar si la función del servidor se muestra correctamente; el valor que muestra el servidor se pasa al como primer argumento y el objeto de usuario (si corresponde) se pasa como un segundo argumento |
Volver
google.script.run
: Este "ejecutor de secuencias de comandos" para encadenar
withUserObject(object)
Configura un objeto para pasar como segundo parámetro a los controladores de éxito y falla. Este "usuario"
object" no deben confundirse con
Clase User
: permite que la devolución de llamada
responden al contexto en el que el cliente se comunicó con el servidor. Debido a que los objetos de usuario
no se envían al servidor, no están sujetos a las restricciones de parámetros y devoluciones
valores para las llamadas al servidor. Sin embargo, los objetos de usuario no pueden ser objetos.
construido con el operador 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>
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
object | Object | un objeto para pasar como un segundo parámetro
a los controladores
de fallas y de éxito; debido a que los objetos de usuario no se envían al servidor,
sujeto a las restricciones de los parámetros y valores que se devuelven de
llamadas al servidor. Sin embargo, los objetos de usuario no pueden ser objetos construidos
con el operador new |
Volver
google.script.run
: Este "ejecutor de secuencias de comandos" para encadenar