1 of 32

Luis Pitta

Uma introdução à programação em Google Apps Script para automatizar e melhorar o funcionamento das aplicações do Google Workspace.

Apresentação disponível em goo.gl/U76aqU

Google Apps Script

Luis Pitta | Introdução ao Google Apps Script

2 of 32

O que é o Google Apps Script?

O Google Apps Script (GAS) é uma linguagem de programação baseada na Cloud disponível nas maioria das Google Apps. Serve para criar aplicações web sendo a base dos Add-ons e parte integrante do seu funcionamento.

É totalmente baseada em JavaScript, e, apesar de ser recente, já se encontra bastante difundida e bem documentada. Já tem uma base de utilizadores grande e é muito fácil de aprender.

Qualquer pessoa, sem experiência prévia em programação, consegue escrever poderosos scripts que interligam as diferentes Google Apps incluindo o Drive, Mail, Calendário, Sites, Translate, Maps e muitos outros serviços do ecossistema G. Workspace.

Mais informação neste vídeo (EN) e

ainda na seguinte Lista de Reprodução

2

Porque razão vamos aprender GAS? 7 razões

Luis Pitta | Introdução ao Google Apps Script

3 of 32

GAS: Dois exemplos práticos

Preencher formulário e verificar email: Traduzir texto e Mapear moradas

1. Começa por preencher o seguinte formulário:

Abrir o formulário de demonstração GAS

2. (Opcional) Verifica as respostas recebidas, disponíveis na seguinte folha de cálculo:

Abrir a folha de cálculo com os dados recolhidos

3. (Só o Formador) O Formador vai executar individualmente cada uma das scripts GAS que se encontram dentro da folha de cálculo.

Está atento!

4. Abre a tua caixa de correio e verifica a 1ª mensagem [Tradução] com o texto traduzido. A seguir verifica a 2ª mensagem [Mapa] com a localização dos participantes no mapa.

3

Envio automático de Texto traduzido e Mapear localizações

Luis Pitta | Introdução ao Google Apps Script

4 of 32

GAS: Dois exemplos práticos

O código por detrás das scripts Traduzir texto e Mapear moradas

Como é que isto tudo aconteceu?

Vamos dar uma vista de olhos ao código por trás dos procedimentos automáticos que acabaram de ser executados.

Como aceder aos scripts?

Cria uma cópia da folha de cálculo com as respostas recolhidas a partir do formulário. Agora acede ao Editor de scripts e analisa o conteúdo dos bound scripts que lá se encontram:

traduzirTexto.gs e criaMapa.gs: Abrir editor

[Jan2021] O script criaMapa.gs deixou de funcionar: The Google Maps Platform server rejected your request. You must enable Billing on the Google Cloud Project at https://console.cloud.google.com/project/_/billing/enable

Learn more at https://developers.google.com/maps/gmp-get-started

Nota: Para poderes ver, editar e executar estes scripts deves fazer uma cópia da folha de cálculo para o teu DRIVE. [Abre e copia a folha de cálculo].

4

Luis Pitta | Introdução ao Google Apps Script

5 of 32

Os três tipos de scripts

Como abrir o editor de scripts?

As GAS (Google Apps Scripts) são criadas a partir do editor de scripts. Existem 3 tipos de scripts:

Standalone script: independentes

    • Diretamente no Editor de Scripts a partir do seguinte endereço web script.google.com.
    • São armazenadas no G. Drive. [+info]

Bound to G. Workspace Documents script: incorporadas nos documentos do G. Workspace

    • A partir das aplicações Documentos, Folhas de Cálculo ou Formulários,abrir o menu Ferramentas e escolher a opção “Editor de scripts...
    • São armazenadas “dentro” do próprio documento. [+info]

Web App script: App autónoma

    • Se construimos uma User Interface para a Script, podemos publicá-la como uma Web App. Podemos converter uma script standalone ou uma script bound numa script Web App desde que se verifiquem certos requisitos.
    • São também armazenadas no G. Drive. [+info]

5

Luis Pitta | Introdução ao Google Apps Script

6 of 32

O meu primeiro script (1)

Abrir a página dos Projetos Script > Novo Projeto

6

Vamos criar o nosso primeiro script utilizando a versão Standalone, para isso começamos por:

1. No Chrome inicia sessão com a tua conta de trabalho.

2. Acede ao seguinte endereço

web script.google.com

3. Clica em “Novo Projeto”

Criar um novo Google Documento, inserir algum conteúdo e enviar o seu URL para a minha caixa de correio.

Luis Pitta | Introdução ao Google Apps Script

7 of 32

O meu primeiro script (2)

Anatomia do editor de scripts

4. O editor de scripts aparece numa janela com o seguinte aspeto (já com 3 linhas de código pré-preenchido):

7

O que é o Editor de Scripts (EN):

Luis Pitta | Introdução ao Google Apps Script

8 of 32

O meu primeiro script (3)

Inserir o código pré-construido no editor de scripts

Começa por apagar as 3 linhas de código pré-preenchido. Agora copia e cola o seguinte código no editor de scripts:

8

function criareEnviarDocumento() {

// Armazena um novo Google Documento na variável doc, com o nome entre aspas:

var doc = DocumentApp.create('[GAS] O meu primeiro script');

// Adiciona um parágrafo de texto ao corpo (body) do documento “doc”:

doc.getBody().appendParagraph('Este documento foi criado automaticamente a partir de um Google Apps Script.');

// Armazena o url do documento “doc” na variavel url:

var url = doc.getUrl();

// Armazena o endereço de email do utilizador ativo (eu próprio!) na variável email:

var email = Session.getActiveUser().getEmail();

// Armazena o nome do documento “doc” na variável assunto:

var assunto = doc.getName();

// Armazena a concatenação da string com a variável "url" na variável corpo:

var corpo = 'Aqui vai o URL do novo documento: ' + url;

// Envia uma mensagem de email para “email”, com o assunto “assunto” e o corpo “corpo”:

GmailApp.sendEmail(email, assunto, corpo);

}

Luis Pitta | Introdução ao Google Apps Script

9 of 32

O meu primeiro script (4)

Guardar o script com um nome sugestivo

Para Guardar o script:

  • Clica no ícone da disquete para guardar o script, ou�acede ao menu Ficheiro > Guardar (CTRL+S).
  • Atribui um nome sugestivo, por exemplo: “O meu primeiro Google Apps Script

O script vai surgir, como um novo ficheiro na raiz do Google DRIVE. Verifica:

9

Luis Pitta | Introdução ao Google Apps Script

10 of 32

O meu primeiro script (5)

Executar o script

1. Para executar o script:

Clicar em ▶

ou

Abrir o menu Executar > Executar função > criareEnviarDocumento.

10

Luis Pitta | Introdução ao Google Apps Script

11 of 32

O meu primeiro script (6)

Executar o script pela primeira vez: Autorização de segurança

2. Ao executarmos o script pela primeira vez, vai surgir uma caixa de diálogo a indicar que o script precisa de autorização para ser executado.

Devemos clicar em Continuar.

11

4. E finalmente surge uma caixa de diálogo a pedir autorização para aceder a certos dados Google do utilizador.

Devemos clicar em Aceitar.

3. Uma segunda caixa de diálogo vai perguntar a conta Google que pretendemos utilizar.

Luis Pitta | Introdução ao Google Apps Script

12 of 32

O meu primeiro script (7)

O script em execução

Repara na área de “Registo de execução”que surge em baixo do editor de scripts. Indica que o script se encontra em execução:

12

Quando o script terminar a execução surge a mensagem “Execução concluída”.

Se durante a execução for detectado algum erro o script pode parar e surge uma indicação a vermelho na mesma área. Está atento!

Luis Pitta | Introdução ao Google Apps Script

13 of 32

O meu primeiro script (8)

Verificar o resultado no Gmail

1. Verifica, agora, a tua caixa de Correio Gmail e procura pela nova mensagem enviada pelo script.

2. Dentro da nova mensagem, clica no ligação para abrir o Documento que o script criou na raiz do teu Drive:

13

Luis Pitta | Introdução ao Google Apps Script

14 of 32

O meu primeiro script (9)

Verificar o resultado no G. Drive

3. Acede à raiz do teu Google Drive. Vais lá encontrar esse novo documento. Agora estão lá dois novos ficheiros:

    • O novo G. Docs com o nome:�“Documento automatico”;
    • O script standalone com o nome:�“O meu primeiro Google Apps Script”;

14

Luis Pitta | Introdução ao Google Apps Script

15 of 32

O meu primeiro script (10)

Resumo final: Tutorial video (EN)

Se quiseres rever este script ou encontraste alguma dificuldade na sua implementação deves visualizar este vídeo que demonstra passo-a-passo todo o processo de criação e execução do script original (EN):

15

URL direto: youtu.be/Pgfbl_o9WvM (4:58)

In this Video Tutorial, Arun Nagarajan shows you how to write your first Apps Script.

O tutorial completo e o código GAS encontram-se disponíveis na seguinte página:

https://developers.google.com/apps-script/quickstart/automation

Tambem disponivel no Github:

https://github.com/googleworkspace/apps-script-samples/blob/master/templates/standalone/helloWorld.gs

Luis Pitta | Introdução ao Google Apps Script

16 of 32

Começar a pensar

Três alterações ao script original

Nesta área da programação informática, aprendemos muito fazendo, apenas, algumas alterações sobre o script original.

Guarda o script com outro nome e vai fazendo pequenas alterações ao código. Executa-o após cada alteração. Toma nota dos resultados. Altera o script as vezes que forem necessárias para o entenderes completamente.

Efetuar as seguintes alterações ao script original:

1. Adiciona outro parágrafo de texto ao documento.

2. Adiciona um cabeçalho e rodapé ao documento� (digita doc. e verifica as opções possíveis *).

Ajusta e utiliza o seguinte código para o cabeçalho:

doc.addHeader().appendParagraph(‘Texto’);

3. Adiciona uma tabela ao documento e preenche-a com texto ao teu gosto.

Utiliza e adapta o seguinte código:

doc.getBody().appendTable([["Nome","Cor favorita"],["Pedro","Azul"]]);

* No editor de scripts, a opção de AutoComplete deve estar ativada.� Como? R: Aceder ao menu Editar > Ajuda de conteúdos (Content assist) ou carregar em Ctrl+Espaço

16

Luis Pitta | Introdução ao Google Apps Script

17 of 32

Próximos passos

Trabalho autónomo em G. Sheets

A: Enviar emails a partir de uma Folha de Cálculo

B: Criar uma função personalizada de Folha de Cálculo

C: Remover linhas duplicadas na Folha de Cálculo

Implementação dos seguintes scripts:

Luis Pitta | Introdução ao Google Apps Script

18 of 32

Script A

Enviar emails a partir de uma Folha de Cálculo

Segue este tutorial que documenta a construção de um script para enviar em série (através de um ciclo de repetição) um conjunto de dados via e-mail a partir de uma folha de cálculo:

Editar e executar o Script A: Enviar emails a partir de uma Folha de Cálculo

Este script foi alterado pela Google: developers.google.com/apps-script/articles/sending_emails�(encontra-se muito mais avançado)

Tempo previsto: 10 min.

18

Abrir diretamente em https://youtu.be/X42IdOc6Qqg

Luis Pitta | Introdução ao Google Apps Script

19 of 32

Script B

Criar uma função de Folha de Cálculo personalizada

Sabias que é muito fácil criar as nossas próprias funções para as usar dentro da Folha de cálculo?

Segue este tutorial para criar a função =DOUBLE( ) que duplica o valor de um dado parâmetro de entrada:

developers.google.com/apps-script/execution_custom_functions

Tempo previsto: 5 min.

19

Soluções B

Aceder à partilha

Luis Pitta | Introdução ao Google Apps Script

20 of 32

Script C

Remover linhas duplicadas na Folha de Cálculo

Vamos criar uma função de folha de cálculo, para testar se uma dada linha é duplicada, removendo-a se for o caso.

Este script utiliza um ciclo de repetição simples e a função .join() para juntar uma linha a uma cadeia de texto (string):

Editar e executar o Script C: Remover linhas duplicadas na Folha de Cálculo

Mais exemplos em developers.google.com/apps-script/samples/automations/youtube-tracker

Tempo previsto: 5 min.

20

Depois

Antes

Luis Pitta | Introdução ao Google Apps Script

21 of 32

Mais tutoriais GAS

Explorar e inspirar

Na seguinte página podes aceder a uma extensa lista de tutoriais e exemplos sobre programação em GAS:

developers.google.com/apps-script/samples

Cada tutorial fornece-te um script único que podes editar à tua medida até ele fazer o que idealizaste!

21

De que estás à espera para

começares a explorar?

Luis Pitta | Introdução ao Google Apps Script

22 of 32

“Acionadores” (Triggers)

22

Dentro do Editor de Scripts clicar em “Editar” e escolher “Acionadores do projeto ativo”

Luis Pitta | Introdução ao Google Apps Script

23 of 32

“Acionadores” (Triggers)

O que são “Acionadores”?

Os “Acionadores” são configuradores que permitem executar, automaticamente, uma dada função nos nossos scripts sem precisarmos de clicar no botão de “Play” ( ▶ ).

Tipos de “Acionadores”

Há 2 tipos de “Acionadores”:

  • Acionadores” temporais: São configurados para executar os scripts de x em x tempo;
  • “Acionadores” de reação: São configurados para reagir a certos acontecimentos específicos. Por exemplo, reação aos comandos onEdit ou onFormSubmit inseridos na folha de cálculo.

23

Luis Pitta | Introdução ao Google Apps Script

24 of 32

“Acionadores” (Triggers)

Configurar “Acionadores”

Como adicionar, editar ou eliminar “Acionadores”?

Dentro do Editor de Scripts clicar em “Editar” e escolher “Acionadores do projeto Ativo” para os adicionar, editar ou eliminar acionadores:

24

Luis Pitta | Introdução ao Google Apps Script

25 of 32

Materiais de referência

Vale a pena explorar estes “5-Minute Quickstarts”:

Luis Pitta | Introdução ao Google Apps Script

26 of 32

Materiais de Referência

Google Developers

Os materiais de referência disponibilizados no site Google Developers Apps Script são um excelente ponto de partida e podem ser acedidos a partir de:

developers.google.com/apps-script

26

Luis Pitta | Introdução ao Google Apps Script

27 of 32

Materiais de Referência

Google Developers: Serviços

Estes são alguns dos serviços Google Apps que vais gostar de explorar em primeiro lugar:

* Útil para resolver as alterações propostas no diapositivo 16: “Começar a pensar”.

27

Luis Pitta | Introdução ao Google Apps Script

28 of 32

Materiais de Referência

Google Codelabs

Para os mais ambiciosos sugere-se o acesso ao�Google Codelabs em:

codelabs.developers.google.com

O que é o Google Codelabs?

Google Codelabs provide guided, tutorial, hands-on coding experiences. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application. They cover a wide range of topics such as Android Wear, Google Compute Engine, Project Tango, and Google APIs on iOS.”

28

Luis Pitta | Introdução ao Google Apps Script

29 of 32

Materiais de Referência

JavaScript

Javascript

Aprende a fazer o teu próprio website interativo e a construir jogos em JavaScript, que correm a partir do navegador de Internet.

29

Inscreve-te no CodeAcademy e realiza este curso online gratuito de JavaScript

Introduction to Javascript

Duração prevista: 20 horas

Luis Pitta | Introdução ao Google Apps Script

30 of 32

Desafio final

Criação de um projeto original

Procedimentos para o Desafio Final:

  1. Começa por criar um plano para um problema que tenhas para resolver. Inspira-te nos diapositivos 21 e 25 a 29.
  2. Identifica quais os serviços Google Apps que vais precisar de utilizar. Por exemplo: Folha de cálculo, Gmail, Translate, etc.
  3. Abre o editor de scripts e adapta um dos códigos que encontraste no passo 1
  4. Utiliza comentários // para documentares cada linha de código indicando o que é suposto o código fazer.
  5. Testa o código e publica-o.
  6. Repete os passos 4) e 5)
  7. Cria a memória descritiva do trabalho no teu Portefólio Digital.�[O que é a memória descritiva?]

30

Nota: Este Desafio Final deve ser elaborado em grupo (2 participantes máximo).

Luis Pitta | Introdução ao Google Apps Script

31 of 32

Desafio final

Procedimento para colocar dúvidas

Duvidas?

As dúvidas devem ser colocadas, em comentário, no próprio código.

O código, por sua vez, deve ser partilhado com o formador.

31

Luis Pitta | Introdução ao Google Apps Script

32 of 32

Fim

Espero que tenhas gostado desta introdução à programação utilizando o G. Apps Script, que, é efetivamente, muito parecido com o Javascript.

32

Apresentação disponível em goo.gl/U76aqU

Luis Pitta | Introdução ao Google Apps Script