google.script.run
é uma API JavaScript assíncrona do lado do cliente disponível em
páginas de serviço HTML que podem chamar funções do Apps Script do
servidor. Para interagir com caixas de diálogo ou barras laterais nos Documentos, Planilhas ou Formulários Google usando o código do lado do cliente, use google.script.host
. Para mais informações, consulte o
guia de comunicação com funções do 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 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 lado 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 êxito. |
withUserObject(object) |
google.script.run |
Define um objeto para transmitir como um segundo parâmetro aos gerenciadores de sucesso e falha. |
Documentação detalhada
myFunction(...)
(qualquer função do lado do servidor)
Executa a função 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 é legal, mas não Date , Function
ou elemento DOM além de form . Consulte a descrição. | Os parâmetros legais são primitivos do JavaScript, como Number , Boolean , String ou null , além de objetos e matrizes do JavaScript compostos por primitivos, objetos e matrizes. Um elemento form na página também é legal como um parâmetro, mas
precisa ser o único parâmetro da função. As solicitações vão falhar se você tentar passar um elemento
Date , Function , DOM além de um form ou outro
tipo proibido, incluindo tipos proibidos dentro de objetos ou matrizes. Os objetos que criam referências circulares também vão falhar, e os campos indefinidos em matrizes vão se tornar null . Observe que um objeto transmitido ao servidor se torna uma cópia do original. Se uma função do servidor receber um objeto e mudar as propriedades, as propriedades no cliente não serão afetadas. |
Retornar
void
: esse método é assíncrono e não retorna diretamente. No entanto, a
função do lado do servidor pode retornar um valor ao cliente como um parâmetro transmitido a um
gerenciador de sucesso. Além disso, os tipos de retorno estão sujeitos às
mesmas restrições dos tipos de parâmetro, exceto que um elemento form
não é um tipo de retorno
legal.
withFailureHandler(function)
Define uma função de retorno de chamada a ser executada se a função do lado do servidor gerar uma exceção. O objeto
Error
é transmitido para a função como o primeiro argumento, e o
objeto do usuário (se houver) é transmitido como um segundo argumento. Sem um gerenciador de falhas, as falhas são registradas no Console JavaScript. Para substituir isso, chame
withFailureHandler(null)
ou forneça um gerenciador de falhas que não faça 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 a ser
executada se a função do lado do servidor gerar uma exceção. O objeto
Error
é transmitido para a função como o primeiro argumento e o
objeto do usuário (se houver) é passado como um segundo argumento. |
Retornar
google.script.run
: este "script executor" 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 êxito. O valor de retorno do servidor é transmitido para a função como primeiro argumento, e o objeto de usuário (se houver) é passado 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 retorno de chamada do lado do cliente a ser executada se a função do lado do servidor retornar com êxito. O valor de retorno do servidor é passado para a função como o primeiro argumento e o objeto de usuário (se houver) é transmitido como um segundo argumento. |
Retornar
google.script.run
: este "script executor" para encadeamento
withUserObject(object)
Define um objeto para transmitir como um segundo parâmetro aos gerenciadores de sucesso e falha. Este objeto do usuário, que não deve ser confundido com a classe User
, permite que as funções de retorno de chamada respondam ao contexto em que o cliente entrou em contato com o servidor. Como os objetos do usuário
não são enviados para o servidor, eles não estão sujeitos às restrições de parâmetros e valores
de retorno para chamadas do servidor. Os objetos de usuário não podem, no entanto, ser objetos
construídos 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 passado como um segundo parâmetro para os gerenciadores de sucesso e falha. Como os objetos de usuários não são enviados para o servidor, eles não estão sujeitos às restrições de parâmetros e valores de retorno para chamadas do servidor. Os objetos de usuário não podem, no entanto, ser objetos construídos
com o operador new |
Retornar
google.script.run
: este "script executor" para encadeamento