Aplicativos da Web

Se você criar uma interface do usuário para um script, poderá publicá-lo como um app da Web. Por exemplo, um script que permite que os usuários agendem horários com membros de uma equipe de suporte seria melhor apresentado como um app da Web para que os usuários possam acessá-lo diretamente dos navegadores.

Tanto scripts autônomos quanto aqueles vinculados a Google Workspace aplicativos podem ser transformados em apps da Web, desde que atendam aos requisitos abaixo.

Requisitos para apps da Web

Um script poderá ser publicado como um app da Web se atender a estes requisitos:

Parâmetros de solicitação

Quando um usuário visita um app ou um programa envia uma solicitação HTTP GET ao app, o Apps Script executa a função doGet(e). Quando um programa envia ao app uma solicitação HTTP POST, o Apps Script executa doPost(e). Em ambos os casos, o argumento e representa um parâmetro de evento que pode conter informações sobre qualquer parâmetro de solicitação. A estrutura desse objeto é mostrada na tabela abaixo:

Campos
e.queryString

O valor da parte da string de consulta do URL ou null se nenhuma string de consulta for especificada

name=alice&n=1&n=2
e.parameter

Um objeto de pares de chave-valor que corresponde aos parâmetros da solicitação. Somente o primeiro valor é retornado para parâmetros com vários valores.

{"name": "alice", "n": "1"}
e.parameters

Objeto semelhante a e.parameter, mas com uma matriz de valores para cada chave.

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

O caminho do URL após /exec ou /dev. Por exemplo, se o caminho do URL termina em /exec/hello, as informações do caminho são hello.

e.contextPath Não usado, sempre a string vazia.
e.contentLength

O tamanho do corpo da solicitação para solicitações POST ou -1 para solicitações GET

332
e.postData.length

O mesmo que e.contentLength

332
e.postData.type

O tipo MIME do corpo POST

text/csv
e.postData.contents

O texto de conteúdo do corpo POST

Alice,21
e.postData.name

Sempre o valor "postData"

postData

Por exemplo, é possível transmitir parâmetros como username e age para um URL, conforme mostrado abaixo:

https://script.google.com/.../exec?username=jsmith&age=21

Em seguida, você pode exibir os parâmetros da seguinte forma:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

No exemplo acima, doGet(e) retorna a seguinte saída:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

Implantar um script como um app da Web

Para implantar um script como um app da Web, siga estas etapas:

  1. No canto superior direito do projeto de script, clique em Implantar > Nova implantação.
  2. Ao lado de "Selecionar tipo", clique em Ativar tipos de implantação > App da Web.
  3. Insira as informações sobre seu app da Web nos campos em "Configuração da implantação".
  4. Selecione Implantar.

É possível compartilhar o URL do app da Web com quem você quer usar, desde que tenha concedido acesso.

Testar uma implantação de app da Web

Para testar o script como um app da Web, siga as etapas abaixo:

  1. No canto superior direito do projeto de script, clique em Implantar > Testar implantações.
  2. Ao lado de "Selecionar tipo", clique em Ativar tipos de implantação > App da Web.
  3. Abaixo do URL do app da Web, clique em Copiar.
  4. Cole o URL no navegador e teste o app da Web.

    Esse URL termina em /dev e só pode ser acessado por usuários com acesso para editar o script. Essa instância do app sempre executa o código salvo mais recentemente e se destina apenas a testes durante o desenvolvimento.

Permissões

As permissões de um app da Web diferem dependendo de como você escolhe executá-lo:

  • Executar o aplicativo como eu: neste caso, o script sempre é executado como você, o proprietário do script, independentemente de quem acessa o app da Web.
  • Executar o app como um usuário que acessa o app da Web: neste caso, o script é executado com a identidade do usuário ativo usando o app da Web. Essa abordagem de permissão faz com que o app da Web mostre o e-mail do proprietário do script quando o usuário autoriza o acesso.

Incorporar seu app da Web ao Google Sites

Para incorporar um app da Web ao Google Sites, primeiro ele precisa ser implantado. Você também precisa do URL implantado da caixa de diálogo Deploy.

Para incorporar um app da Web a uma página Sites, siga estas etapas:

  1. Abra a página do Google Sites à qual você deseja adicionar o aplicativo da Web.
  2. Selecione Inserir > Incorporar URL.
  3. Cole o URL do app da Web e clique em ADICIONAR.

O app da Web aparece em um frame na visualização da página. Quando você publica a página, talvez os leitores do site precisem autorizar o app da Web antes que ele seja executado normalmente. Os apps da Web não autorizados apresentam solicitações de autorização ao usuário.

Apps da Web e histórico do navegador

É recomendável que um app da Web do Apps Script simule um aplicativo com várias páginas ou que tenha uma IU dinâmica controlada por parâmetros de URL. Para fazer isso bem, você pode definir um objeto de estado para representar a interface ou a página do app e enviar o estado ao histórico do navegador à medida que o usuário navega pelo app. Também é possível detectar eventos do histórico para que o app da Web exiba a interface correta quando o usuário navegar para frente e para trás com os botões do navegador. Ao consultar os parâmetros de URL no tempo de carregamento, você pode fazer com que seu app crie dinamicamente a interface com base nesses parâmetros, permitindo que o usuário inicie o app em um estado específico.

O Apps Script fornece duas APIs JavaScript assíncronas do lado do cliente para ajudar na criação de apps da Web vinculados ao histórico do navegador:

  • google.script.history oferece métodos para permitir uma resposta dinâmica a mudanças no histórico de navegação. Isso inclui enviar estados (objetos simples que você pode definir) para o histórico do navegador, substituir o estado superior na pilha do histórico e definir uma função de callback de listener para responder a alterações do histórico.

  • google.script.url oferece os meios de recuperar os parâmetros de URL e o fragmento de URL da página atual, se eles estiverem presentes.

Essas APIs de histórico estão disponíveis apenas para apps da Web. Eles não oferecem suporte a barras laterais, caixas de diálogo ou complementos. Essa funcionalidade também não é recomendada para uso em apps da Web incorporados a um Google Sites.