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
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
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
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
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
Bound to G. Workspace Documents script: incorporadas nos documentos do G. Workspace
Web App script: App autónoma
5
Luis Pitta | Introdução ao Google Apps Script
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
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
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
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
O meu primeiro script (4)
Guardar o script com um nome sugestivo
Para Guardar o script:
O script vai surgir, como um novo ficheiro na raiz do Google DRIVE. Verifica:
9
Luis Pitta | Introdução ao Google Apps Script
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
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
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
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
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:
14
Luis Pitta | Introdução ao Google Apps Script
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:
Luis Pitta | Introdução ao Google Apps Script
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
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
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
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
Aceder à partilha
Luis Pitta | Introdução ao Google Apps Script
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
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
Exemplos de scripts prontos a funcionar
De que estás à espera para
começares a explorar?
Luis Pitta | Introdução ao Google Apps Script
“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
“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”:
23
Luis Pitta | Introdução ao Google Apps Script
“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
Materiais de referência
Vale a pena explorar estes “5-Minute Quickstarts”:
Luis Pitta | Introdução ao Google Apps Script
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
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
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
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
Duração prevista: 20 horas
Luis Pitta | Introdução ao Google Apps Script
Desafio final
Criação de um projeto original
Procedimentos para o Desafio Final:
30
Nota: Este Desafio Final deve ser elaborado em grupo (2 participantes máximo).
Luis Pitta | Introdução ao Google Apps Script
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
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