Um objeto HtmlOutput
que pode ser disponibilizado por um script. Devido a considerações de segurança,
os scripts não podem retornar HTML diretamente para um navegador. Em vez disso, eles precisam higienizá-los para que
e não pode realizar ações maliciosas. É possível retornar um HTML limpo desta forma:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
HtmlOutput
pode incluir JavaScript e CSS incorporados. (Este é o padrão
JavaScript do lado do cliente que manipula o DOM, não o Apps Script). Todo esse conteúdo é
colocado no sandbox usando iframe
sandbox. Para mais informações, consulte o guia para restrições no serviço HTML.Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Adiciona uma metatag à página. |
append(addedContent) | HtmlOutput | Anexa novo conteúdo ao conteúdo de HtmlOutput . |
appendUntrusted(addedContent) | HtmlOutput | Anexa novo conteúdo ao conteúdo desse HtmlOutput usando escape contextual. |
asTemplate() | HtmlTemplate | Retorna um HtmlTemplate apoiado por esse HtmlOutput . |
clear() | HtmlOutput | Limpa o conteúdo atual. |
getAs(contentType) | Blob | Retorna os dados dentro desse objeto como um blob convertido no tipo de conteúdo especificado. |
getBlob() | Blob | Retorne os dados dentro desse objeto como um blob. |
getContent() | String | Recebe o conteúdo desse HtmlOutput . |
getFaviconUrl() | String | Recebe o URL de uma tag de link de favicon adicionada à página. Para isso, chame setFaviconUrl(iconUrl) . |
getHeight() | Integer | Recebe a altura inicial da caixa de diálogo personalizada no Google. Documentos, Planilhas ou Formulários. |
getMetaTags() | HtmlOutputMetaTag[] | Recebe uma matriz de objetos que representam metatags adicionadas à página chamando addMetaTag(name, content) . |
getTitle() | String | Recebe o título da página de saída. |
getWidth() | Integer | Recebe a largura inicial da caixa de diálogo personalizada no Google. Documentos, Planilhas ou Formulários. |
setContent(content) | HtmlOutput | Define o conteúdo deste HtmlOutput . |
setFaviconUrl(iconUrl) | HtmlOutput | Adiciona uma tag de link para um favicon à página. |
setHeight(height) | HtmlOutput | Define a altura inicial da caixa de diálogo personalizada no Google Documentos, Planilhas ou Formulários. |
setSandboxMode(mode) | HtmlOutput | Esse método agora não tem efeito. Antes, ele definia o sandbox
mode usado para scripts do lado do cliente. |
setTitle(title) | HtmlOutput | Define o título da página de saída. |
setWidth(width) | HtmlOutput | Define a largura inicial de uma caixa de diálogo personalizada no Google Documentos, Planilhas ou Formulários. |
setXFrameOptionsMode(mode) | HtmlOutput | Define o estado do cabeçalho X-Frame-Options da página, que controla o clickjacking.
prevenção. |
Documentação detalhada
addMetaTag(name, content)
Adiciona uma metatag à página. As metatags incluídas diretamente em um arquivo HTML do Apps Script são ignorada. 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="..."/>
var 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 name da metatag. |
content | String | O valor do atributo content da metatag. |
Retornar
HtmlOutput
: esta saída, para encadeamento.
append(addedContent)
Anexa novo conteúdo ao conteúdo de HtmlOutput
. Use esta opção apenas para conteúdos de um
fonte confiável, porque não tem escape.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.append('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
addedContent | String | O conteúdo a ser anexado. |
Retornar
HtmlOutput
: esta saída, para encadeamento.
Gera
Error
: se o HTML estiver incorreto
Consulte também
appendUntrusted(addedContent)
Anexa novo conteúdo ao conteúdo desse HtmlOutput
usando escape contextual.
Esse método escapa corretamente o conteúdo com base no estado atual da HtmlOutput
,
para que o resultado seja uma string segura sem marcações ou efeitos laterais. Use esta opção em vez de
anexar sempre que você estiver adicionando conteúdo de uma fonte não confiável, como de um usuário, para evitar
acidentalmente permitir um bug de scripting em vários locais (XSS) em que o conteúdo ou a marcação que você anexa
causa uma execução inesperada de código.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
addedContent | String | O conteúdo a ser anexado. |
Retornar
HtmlOutput
: esta saída, para encadeamento.
Gera
Error
: se o HTML estiver muito incorreto.
Consulte também
asTemplate()
Retorna um HtmlTemplate
apoiado por esse HtmlOutput
. Esse método pode ser usado para
criar um modelo de forma incremental. Futuras alterações em HtmlOutput
afetarão o conteúdo de
o HtmlTemplate
também.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Retornar
HtmlTemplate
: o novo HtmlTemplate
.
clear()
Limpa o conteúdo atual.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Retornar
HtmlOutput
: esta saída, para encadeamento.
getAs(contentType)
Retorna os dados dentro desse objeto como um blob convertido no tipo de conteúdo especificado. Isso adiciona a extensão adequada ao nome do arquivo, por exemplo, "myfile.pdf". No entanto, pressupõe que a parte do nome do arquivo que segue o ponto final (se houver) é uma que deve ser substituída. Consequentemente, "ShoppingList.12.25.2014" se torna "ListaShopping.12.25.pdf".
Para acessar as cotas diárias para conversões, consulte Cotas do Google Serviços. Os domínios do Google Workspace recém-criados podem estar temporariamente sujeitos a medidas cotas.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
contentType | String | O tipo MIME em que a conversão será feita. Para a maioria dos blobs, 'application/pdf' é
a única opção válida. Para imagens no formato BMP, GIF, JPEG ou PNG, qualquer um dos valores 'image/bmp' , 'image/gif' , 'image/jpeg' ou 'image/png' também precisa ser
válidos. Para um documento do Documentos Google, 'text/markdown' também é válido. |
Retornar
Blob
: os dados como um blob.
getBlob()
getContent()
Recebe o conteúdo desse HtmlOutput
.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Retornar
String
: o conteúdo veiculado.
getFaviconUrl()
Recebe o URL de uma tag de link de favicon adicionada à página. Para isso, chame setFaviconUrl(iconUrl)
. As tags de link Favicon incluídas diretamente em um arquivo HTML do Apps Script são:
ignorada.
var 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.
getHeight()
Recebe a altura inicial da caixa de diálogo personalizada no Google.
Documentos, Planilhas ou Formulários. Se a HtmlOutput
for publicada como um app da Web, esse
retorna 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Retornar
Integer
: a altura, em pixels.
getMetaTags()
Recebe uma matriz de objetos que representam metatags adicionadas à página chamando addMetaTag(name, content)
. As metatags incluídas diretamente em um arquivo HTML do Apps Script são
ignorada.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); var tags = output.getMetaTags(); Logger.log('<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent());
Retornar
HtmlOutputMetaTag[]
: uma matriz de objetos que representam metatags adicionadas à página chamando addMetaTag(name, content)
.
getTitle()
Recebe o título da página de saída. Observe que o elemento <title> O elemento HTML é ignorado.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Retornar
String
: o título da página.
getWidth()
Recebe a largura inicial da caixa de diálogo personalizada no Google.
Documentos, Planilhas ou Formulários. Se a HtmlOutput
for publicada como um app da Web, esse
retorna 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Retornar
Integer
: a largura em pixels.
setContent(content)
Define o conteúdo deste HtmlOutput
.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
content | String | O conteúdo a ser exibido. |
Retornar
HtmlOutput
: esta saída, para encadeamento.
Gera
Error
: se o HTML estiver incorreto
setFaviconUrl(iconUrl)
Adiciona uma tag de link para um favicon à página. Tags de link favicon incluídas diretamente em um aplicativo do arquivo HTML de script serão ignorados.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
iconUrl | String | O URL da imagem do favicon, com a extensão indicando a imagem não é válido. |
Retornar
HtmlOutput
: esta saída, para encadeamento.
setHeight(height)
Define a altura inicial da caixa de diálogo personalizada no Google
Documentos, Planilhas ou Formulários. Se a HtmlOutput
for publicada como um app da Web, esse
não tem 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.
var 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
HtmlOutput
: esta saída, para encadeamento.
setSandboxMode(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 contra a exibição de HTML ou
O JavaScript, o código do lado do cliente fornecido pelo serviço HTML é executado em um sandbox de segurança que
impõem restrições ao código. Originalmente, esse método permitia que os autores de scripts escolhessem
entre versões diferentes do sandbox, mas agora todos os scripts usam o modo IFRAME
independentemente do modo sandbox definido. Para mais informações, consulte o guia para restrições no serviço HTML.
O modo IFRAME
impõe muito menos restrições do que os outros modos de sandbox.
é mais rápido, mas não funciona em certos 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 for suportado
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 | SandboxMode | O modo sandbox a ser usado. |
Retornar
HtmlOutput
: esta saída, para encadeamento.
setTitle(title)
Define o título da página de saída. Para aplicativos da Web, é o título da página inteira, enquanto
para HtmlOutput
mostrado nas Planilhas Google, este é o título da caixa de diálogo.
var 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
HtmlOutput
: esta saída, para encadeamento.
setWidth(width)
Define a largura inicial de uma caixa de diálogo personalizada no Google
Documentos, Planilhas ou Formulários. Se a HtmlOutput
for publicada como um app da Web, esse
não tem 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.
var 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
HtmlOutput
: esta saída, para encadeamento.
setXFrameOptionsMode(mode)
Define o estado do cabeçalho X-Frame-Options
da página, que controla o clickjacking.
prevenção.
Definir XFrameOptionsMode.ALLOWALL
permite que qualquer site adicione a página a um iframe. Assim, o
o desenvolvedor deve implementar sua própria proteção contra clickjacking.
Se um script não define um modo X-Frame-Options
, o Apps Script usa o modo XFrameOptionsMode.DEFAULT
como padrão.
// Serve HTML with no X-Frame-Options header (in Apps Script server-side code). var 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 do XFrame a ser definido. |
Retornar
HtmlOutput
: esta saída, para encadeamento.