Um objeto Html
que pode ser veiculado em um script. Por motivos de segurança,
os scripts não podem retornar HTML diretamente a um navegador. Em vez disso, eles precisam higienizar o arquivo para que ele
não possa realizar ações maliciosas. Você pode retornar HTML limpo assim:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
Html Output
pode incluir JavaScript e CSS incorporados. Esse é um JavaScript
padrão do lado do cliente que manipula o DOM, não o Apps Script. Todo esse conteúdo é
colocado em sandbox usando sandbox
de iframe. Para mais informações, consulte o guia de restrições no serviço HTML.Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
add | Html | Adiciona uma metatag à página. |
append(addedContent) | Html | Adiciona novo conteúdo ao conteúdo deste Html . |
append | Html | Adiciona novo conteúdo ao conteúdo dessa Html usando a codificação de escape contextual. |
as | Html | Retorna um Html com suporte a esse Html . |
clear() | Html | Limpa o conteúdo atual. |
get | Blob | Retorna os dados dentro deste objeto como um blob convertido para o tipo de conteúdo especificado. |
get | Blob | Retorne os dados dentro deste objeto como um blob. |
get | String | Recebe o conteúdo dessa Html . |
get | String | Extrai o URL de uma tag de link de favicon adicionada à página chamando set . |
get | Integer | Recebe a altura inicial da caixa de diálogo personalizada nos apps Documentos, Planilhas ou Formulários Google. |
get | Html | Recebe uma matriz de objetos que representam metatags adicionadas à página chamando add . |
get | String | Recebe o título da página de saída. |
get | Integer | Recebe a largura inicial da caixa de diálogo personalizada nos apps Documentos, Planilhas ou Formulários Google. |
set | Html | Define o conteúdo dessa Html . |
set | Html | Adiciona uma tag de link para um ícone à página. |
set | Html | Define a altura inicial da caixa de diálogo personalizada nos apps Documentos, Planilhas ou Formulários Google. |
set | Html | Esse método agora não tem efeito. Antes, ele definia o sandbox
mode usado para scripts do lado do cliente. |
set | Html | Define o título da página de saída. |
set | Html | Define a largura inicial de uma caixa de diálogo personalizada nos Documentos, Planilhas ou Formulários Google. |
set | Html | Define o estado do cabeçalho X-Frame-Options da página, que controla a prevenção
de clickjacking. |
Documentação detalhada
add Meta Tag(name, content)
Adiciona uma metatag à página. As metatags incluídas diretamente em um arquivo HTML do Apps Script são ignoradas. Somente as seguintes metatags são permitidas:
<meta name="apple-mobile-web-app-capable" content="..."/> <meta name="google-site-verification" content="..."/> <meta name="mobile-web-app-capable" content="..."/> <meta name="viewport" content="..."/>
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
name | String | O valor do atributo de nome da metatag. |
content | String | O valor do atributo de conteúdo da metatag. |
Retornar
Html
: esta saída, para encadeamento.
append(addedContent)
Adiciona novo conteúdo ao conteúdo deste Html
. Use essa opção apenas para conteúdo de uma
fonte confiável, porque ela não é codificada.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.append('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
added | String | O conteúdo a ser anexado. |
Retornar
Html
: esta saída, para encadeamento.
Gera
Error
: se o HTML estiver incorreto.
Consulte também
append Untrusted(addedContent)
Adiciona novo conteúdo ao conteúdo dessa Html
usando a codificação de escape contextual.
Esse método gera corretamente o conteúdo com base no estado atual do Html
,
para que o resultado seja uma string segura sem marcação ou efeitos colaterais. Use isso em vez de usar
append sempre que adicionar conteúdo de uma fonte não confiável, como de um usuário, para evitar
permitir acidentalmente um bug de scripting em vários sites (XSS), em que o conteúdo ou a marcação anexada
causa a execução inesperada de código.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
added | String | O conteúdo a ser anexado. |
Retornar
Html
: esta saída, para encadeamento.
Gera
Error
: se o HTML estiver muito malformado.
Consulte também
as Template()
Retorna um Html
com suporte a esse Html
. Esse método pode ser usado para
criar um modelo de forma incremental. Mudanças futuras no Html
também afetam o conteúdo do Html
.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
Retornar
Html
: o novo Html
.
clear()
Limpa o conteúdo atual.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Retornar
Html
: esta saída, para encadeamento.
get As(contentType)
Retorna os dados dentro deste objeto como um blob convertido para o tipo de conteúdo especificado. Esse método adiciona a extensão apropriada ao nome do arquivo, por exemplo, "myfile.pdf". No entanto, ele pressupõe que a parte do nome do arquivo que segue o último ponto (se houver) é uma extensão existente que precisa ser substituída. Consequentemente, "ShoppingList.12.25.2014" se torna "ShoppingList.12.25.pdf".
Para conferir as cotas diárias de conversões, consulte Cotas dos Serviços do Google. Os domínios do Google Workspace recém-criados podem estar temporariamente sujeitos a cotas mais rígidas.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
content | String | O tipo MIME para a conversão. Para a maioria dos blobs, 'application/pdf' é
a única opção válida. Para imagens nos formatos BMP, GIF, JPEG ou PNG, qualquer um dos formatos 'image/bmp' , 'image/gif' , 'image/jpeg' ou 'image/png' também é
válido. Para um documento do Documentos Google, 'text/markdown' também é válido. |
Retornar
Blob
: os dados como um blob.
get Blob()
get Content()
Recebe o conteúdo dessa Html
.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Retornar
String
: o conteúdo veiculado.
get Favicon Url()
Extrai o URL de uma tag de link de favicon adicionada à página chamando set
. As tags de link de favicon incluídas diretamente em um arquivo HTML do Apps Script são
ignoradas.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Retornar
String
: é o URL da imagem do favicon.
get Height()
Recebe a altura inicial da caixa de diálogo personalizada nos apps Documentos, Planilhas ou Formulários Google. Se o Html
for publicado como um app da Web, esse
método retornará null
. Para redimensionar uma caixa de diálogo que já está aberta, chame
google.script.host.setHeight(height)
no código do lado do cliente.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Retornar
Integer
: a altura, em pixels.
get Meta Tags()
Recebe uma matriz de objetos que representam metatags adicionadas à página chamando add
. As metatags incluídas diretamente em um arquivo HTML do Apps Script são
ignoradas.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaTags(); Logger.log( '<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent(), );
Retornar
Html
: uma matriz de objetos que representam as metatags adicionadas à página chamando add
.
get Title()
Recebe o título da página de saída. O elemento HTML <title> é ignorado.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Retornar
String
: o título da página.
get Width()
Recebe a largura inicial da caixa de diálogo personalizada nos apps Documentos, Planilhas ou Formulários Google. Se o Html
for publicado como um app da Web, esse
método retornará null
. Para redimensionar uma caixa de diálogo que já está aberta, chame
google.script.host.setWidth(width)
no código do lado do cliente.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Retornar
Integer
: a largura em pixels.
set Content(content)
Define o conteúdo dessa Html
.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
content | String | O conteúdo a ser veiculado. |
Retornar
Html
: esta saída, para encadeamento.
Gera
Error
: se o HTML estiver incorreto.
set Favicon Url(iconUrl)
Adiciona uma tag de link para um ícone à página. As tags de link de favicon incluídas diretamente em um arquivo HTML do script do app são ignoradas.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
icon | String | O URL da imagem do favicon, com a extensão indicando o tipo de imagem. |
Retornar
Html
: esta saída, para encadeamento.
set Height(height)
Define a altura inicial da caixa de diálogo personalizada nos apps Documentos, Planilhas ou Formulários Google. Se o Html
for publicado como um app da Web, esse
método não terá efeito. Para redimensionar uma caixa de diálogo que já está aberta, chame
google.script.host.setHeight(height)
no código do lado do cliente.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
height | Integer | A nova altura em pixels. null resulta em um valor padrão. |
Retornar
Html
: esta saída, para encadeamento.
set Sandbox Mode(mode)
Esse método agora não tem efeito. Antes, ele definia o sandbox
mode
usado para scripts do lado do cliente. Para proteger os usuários de HTML ou
JavaScript maliciosos, o código do lado do cliente veiculado pelo serviço HTML é executado em um sandbox de segurança que
impõe restrições ao código. Originalmente, esse método permitia que os autores de scripts escolhessem
entre diferentes versões do sandbox, mas agora todos os scripts usam o modo IFRAME
independente do modo de sandbox definido. Para mais informações, consulte o guia de restrições no serviço HTML.
O modo IFRAME
impõe muito menos restrições do que os outros modos de sandbox e
é executado mais rapidamente, mas não funciona em alguns navegadores mais antigos, incluindo o Internet Explorer
9. O modo sandbox pode ser lido em um script do lado do cliente inspecionando google.script.sandbox.mode
. Essa propriedade retorna o modo real no cliente,
que pode ser diferente do modo solicitado no servidor se o modo solicitado não tiver suporte
no navegador do usuário.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
mode | Sandbox | O modo sandbox a ser usado. |
Retornar
Html
: esta saída, para encadeamento.
set Title(title)
Define o título da página de saída. Para apps da Web, é o título de toda a página. Já para Html
mostrado no Planilhas Google, é o título da caixa de diálogo.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
title | String | O novo título. |
Retornar
Html
: esta saída, para encadeamento.
set Width(width)
Define a largura inicial de uma caixa de diálogo personalizada nos Documentos,
Planilhas ou Formulários Google. Se o Html
for publicado como um app da Web, esse
método não terá efeito. Para redimensionar uma caixa de diálogo que já está aberta, chame
google.script.host.setWidth(width)
no código do lado do cliente.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
width | Integer | A nova largura em pixels. null resulta em um valor padrão. |
Retornar
Html
: esta saída, para encadeamento.
set XFrame Options Mode(mode)
Define o estado do cabeçalho X-Frame-Options
da página, que controla a prevenção
de clickjacking.
A configuração XFrameOptionsMode.ALLOWALL
permite que qualquer site iframe a página. Portanto, o
desenvolvedor precisa implementar a própria proteção contra clickjacking.
Se um script não definir um modo X-Frame-Options
, o Apps Script vai usar o modo XFrameOptionsMode.DEFAULT
como padrão.
// Serve HTML with no X-Frame-Options header (in Apps Script server-side code). const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
mode | XFrameOptionsMode | O modo de opções de XFrame a ser definido. |
Retornar
Html
: esta saída, para encadeamento.