O serviço HTML permite veicular páginas da Web que podem interagir com funções do Apps Script do lado do servidor. Ele é particularmente útil para criar apps da Web ou adicionar interfaces de usuário personalizadas no Documentos, Planilhas e Formulários Google. Também é possível usá-lo para gerar o corpo de um e-mail.
Criar arquivos HTML
Para adicionar um arquivo HTML ao seu projeto do Apps Script, siga estas etapas:
- Abra o editor do Apps Script.
- À esquerda, clique em Adicionar um arquivo > HTML.
No arquivo HTML, é possível escrever a maioria dos HTML padrão, CSS e JavaScript do lado do cliente. A página será veiculada como HTML5, embora alguns recursos avançados do HTML5 não estejam disponíveis, conforme explicado em Restrições.
Seu arquivo também pode incluir scripts de modelos que são processados no servidor antes do envio da página ao usuário (semelhante ao PHP), conforme explicado na seção sobre HTML modelo.
Exibir HTML como um aplicativo da Web
Para criar um app da Web com o serviço HTML, o código precisa incluir uma função doGet()
que informe ao script como exibir a página. A função precisa retornar
um objeto HtmlOutput
, conforme mostrado
neste exemplo.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> Hello, World! </body> </html>
Depois de implementar esse framework básico, basta salvar uma versão do script e implantá-lo como um app da Web.
Depois que o script for implantado como um app da Web, você também poderá incorporá-lo a um site Google.
Usar HTML como uma interface do usuário do Documentos, Planilhas, Apresentações ou Formulários Google
O serviço HTML pode exibir uma caixa de diálogo ou barra lateral no Documentos, Planilhas, Apresentações ou Formulários Google se o script estiver vinculado ao contêiner ao arquivo. No Formulários Google, as interfaces do usuário personalizadas só são visíveis para um editor que abre o formulário para modificação, e não para um usuário que abre o formulário para responder.
Diferentemente de um app da Web, um script que cria uma interface do usuário para um documento,
planilha ou formulário não precisa de uma função doGet()
, e você não
precisa salvar uma versão do script ou implantá-la. Em vez disso, a função
que abre a interface do usuário precisa transmitir o arquivo HTML como um objeto
HtmlOutput
para os métodos
showModalDialog())
ou showSidebar()
do objeto
Ui
para o documento, o formulário ou a
planilha ativos.
Esses exemplos incluem alguns recursos extras para conveniência: a função onOpen()
cria um menu personalizado que facilita
a abertura da interface, e o botão no arquivo HTML invoca um método
close()
especial da API
google.script.host
para fechar a
interface.
Code.gs
// Use this code for Google Docs, Slides, Forms, or Sheets. function onOpen() { SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .createMenu('Dialog') .addItem('Open', 'openDialog') .addToUi(); } function openDialog() { var html = HtmlService.createHtmlOutputFromFile('Index'); SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .showModalDialog(html, 'Dialog title'); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> Hello, World! <input type="button" value="Close" onclick="google.script.host.close()" /> </body> </html>
Na primeira vez que você quiser exibir essa interface do usuário, execute a função onOpen()
manualmente no editor de script ou atualize a janela do editor do Documentos, Planilhas ou Formulários. Isso fechará o editor de script. Depois disso, o menu personalizado aparecerá dentro de alguns segundos
sempre que você abrir o arquivo. Selecione Dialog > Open para ver a
interface.