google.script.run
é uma API JavaScript assíncrona do lado do cliente disponível em
Páginas de serviços HTML que podem chamar o Apps Script do lado do servidor
. Interagir com caixas de diálogo ou barras laterais em Documentos, Planilhas ou Formulários Google no lado do cliente
use google.script.host
. Para mais informações, consulte a
guia para comunicação com funções de servidor
no serviço HTML.
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
myFunction(...) (qualquer função do lado do servidor) |
void |
Executa a função do Apps Script do lado do servidor com o nome correspondente. |
withFailureHandler(function) |
google.script.run |
Define uma função de retorno de chamada a ser executada se a função do servidor gerar uma exceção. |
withSuccessHandler(function) |
google.script.run |
Define uma função de retorno de chamada a ser executada se a função do lado do servidor retornar com sucesso. |
withUserObject(object) |
google.script.run |
Define um objeto a ser transmitido como um segundo parâmetro para os gerenciadores de sucesso e falha. |
Documentação detalhada
myFunction(...)
(qualquer função do lado do servidor)
Executa a função do Apps Script do lado do servidor com o nome correspondente.
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
Nome | Tipo | Descrição |
---|---|---|
... | A maioria dos tipos é válida, mas não Date , Function ,
ou elemento DOM além de form . ver descrição | Os parâmetros legais são JavaScript
primitivos, como Number , Boolean , String ou
null , bem como objetos JavaScript e matrizes compostas de primitivos,
objetos e matrizes. Um elemento form na página também é válido como parâmetro, mas
ele precisa ser o único parâmetro da função. As solicitações falharão se você tentar passar um
Date , Function , um elemento DOM além de um form ou outro
proibido, incluindo tipos proibidos dentro de objetos ou matrizes. Objetos que criam formas circulares
as referências também vão falhar, e os campos indefinidos dentro das matrizes se tornarão null . Observe que
um objeto passado para o servidor torna-se uma cópia do original. Se uma função de servidor receber um
e alterar suas propriedades, as propriedades do cliente não serão afetadas. |
Retornar
void
: esse método é assíncrono e não retorna diretamente. No entanto, a
a função do lado do servidor pode retornar um valor para o cliente como um parâmetro passado para uma
gerenciador de sucesso Além disso, os tipos de retorno estão sujeitos à
As mesmas restrições dos tipos de parâmetros, exceto pelo fato de um elemento form
não ser um
tipo de retorno
withFailureHandler(function)
Define uma função de retorno de chamada a ser executada se a função do servidor gerar uma exceção. A
Error
é passado para a função como o primeiro argumento, e o
objeto de usuário (se houver) é transmitido como um segundo argumento. Sem
um gerenciador de falhas, as falhas são registradas no Console JavaScript. Para substituir isto, chame
withFailureHandler(null)
ou forneça um gerenciador de falhas que não faz 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
Nome | Tipo | Descrição |
---|---|---|
function | Function | uma função de callback do lado do cliente
executar se a função do lado do servidor gerar uma exceção; as
Error
é passado para a função como o primeiro argumento, e o
O objeto de usuário (se houver) é transmitido como um segundo argumento. |
Retornar
google.script.run
: este "executor de script", para encadeamento
withSuccessHandler(function)
Define uma função de retorno de chamada a ser executada se a função do lado do servidor retornar com sucesso. O servidor valor de retorno é passado para a função como o primeiro argumento, e o user object (se houver) é transmitido como um 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
Nome | Tipo | Descrição |
---|---|---|
function | Function | uma função de callback do lado do cliente executar se a função do lado do servidor retornar com êxito; o valor de retorno do servidor é passado ao como primeiro argumento, e o objeto user (se houver) é passado como um segundo argumento |
Retornar
google.script.run
: este "executor de script", para encadeamento
withUserObject(object)
Define um objeto a ser transmitido como um segundo parâmetro para os gerenciadores de sucesso e falha. Esse "usuário
object" Não confunda com o
User
: permite que o callback
respondem ao contexto em que o cliente entrou em contato com o servidor. Como os objetos do usuário
não forem enviados ao servidor, eles não estão sujeitos às restrições de parâmetros e valores de retorno
para chamadas do servidor. No entanto, os objetos de usuário não podem ser objetos
construído com o 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
Nome | Tipo | Descrição |
---|---|---|
object | Object | um objeto a ser transmitido como um segundo parâmetro
aos gerenciadores de sucesso e falha. como os objetos de usuário não são enviados ao servidor, eles não são
sujeito às restrições de parâmetros e valores de retorno para
chamadas de servidor. No entanto, os objetos de usuário não podem ser construídos
com o operador new |
Retornar
google.script.run
: este "executor de script", para encadeamento