Google AppsScript - Overview

3.803 visualizações

Publicada em

Breve apresentação sobre o Google Apps Script

Publicada em: Tecnologia
4 comentários
8 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
3.803
No SlideShare
0
A partir de incorporações
0
Número de incorporações
67
Ações
Compartilhamentos
0
Downloads
59
Comentários
4
Gostaram
8
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Google AppsScript - Overview

  1. 1. O que o Google Apps ScriptGoogle Apps script é uma linguagem de script baseada em JavaScript na nuvem,que permite extender a utilização do Google Apps.● Criar funções específicas dentro do Google Spreadsheet● Criar processos que possam englobar diversas aplicações (Formulários,Documentos, Emails, etc)● Criar e publicar aplicações web● Agendar tarefas● Integração com bancos de dados (JDBC)
  2. 2. Ambiente de DesenvolvimentoPara desenvolver utilizando o Google Apps Script, a única ferramenta necessária éum navegador de WEB (atual), nele é possível criar e gerenciar os arquivos eprojetos existentes.
  3. 3. Para acessar o editor de scripts existem 3 opções, sendo elas:1. Através do Google DriveClique em Criar > Script (Caso não esteja disponível, clique em Criar > Conectar mais aplicativos epesquise por Script)2. Através de um Documento, Planilha ou FormulárioCrie um documento, planilha ou formulário e em seguida clique em Ferramentas > Editor de Scripts3. Através de um Google Sites ScriptA partir do Google Sites clique em Gerenciar este site > Apps Script, selecione ou crie um novo scriptAmbiente de Desenvolvimento
  4. 4. Execução dos scriptsExistem diversos métodos de execução dos scripts, sendo os principais:● Editor de Scripts● Função específica no Google Spreadsheets● Web app*● Google Sites Gadget*● Time-driven Trigger● Container-specific Trigger○ Spreadsheets, Documents, Forms, Sites
  5. 5. Para a execução de Web Apps e Gadgets no Google Sites são necessários osseguintes passos:● Criar um método doGet(e)● Criar uma interface utilizando UiService ou HtmlService● Salvar uma versão da aplicaçãoDeploy da aplicação Web● Selecione Publicar > Implantar como aplicativo da web● Selecione as opções do projeto○ Versão do Projeto○ Executar aplicação como○ Quem tem acesso a aplicaçãoWebApp e Gadgets
  6. 6. WebApp e Gadgets
  7. 7. WebApp e GadgetsInserção do Gadget no Google Sites● Navegue até a página que desejainserir o gadget.● Selecione para editar a página● Clique em Inserir > Google AppsScript Gadget● Selecione o script ou adicione a URL● Salve as alterações
  8. 8. Container ExtensionsOutra opção para execução dos scripts é a criação de novas abas para execução a partir de aplicaçõescomo Docs, Sheets e Forms, sendo necessário apenas a definição de um método onOpen( ).
  9. 9. Apps Script ServicesAtravés do Google Apps Script é possível interagir com uma série de serviços para manipulação dos dados,entre eles serviços Google ou de terceiros (3rd parties)Google Apps Services - Estes serviços são divididos em APIs específicas onde cada um provê acesso aum conjunto de funcionalidades.Advanced Google Services - São serviços não habilitados por default, devido a utilização restrita, para asua utilização de parte destes serviços será necessária a criação de um projeto específico e uma chave APIdentro do Google Apps API Console.
  10. 10. Por se tratar de uma linguagem baseada em JavaScript, o Google Apps Script permite a interação comoutras APIs.● Serviços adicionais Google ou 3rd-Party API - A fim de garantir a integração da plataforma, oGoogle Apps Script permite realizar REQUESTs e RESPOSES HTTP/HTTPS permitindo a criação ouutilização de APIs externas, utilizando o UrlFetch● SOAP Services - Outra opção é a utilização do SOAP Service garantindo a comunicação com webservices baseados nesta tecnologiaPara a manipulação dos dados, é possível trabalharmos com XML ou JSON.External API
  11. 11. Bibliotecas são projetos que podem ser inseridos pelos usuários a fim de ganhar acesso a novasfuncionalidades.Para incluir uma biblioteca no projeto, será necessário:1. Ter o direito de leitura a biblioteca desejada2. Obter a chave do Projeto(Arquivo > Propriedades do Projeto)3. Selecionar Recursos > Gerenciar Bibliotecas4. Colar a chave do Projeto em Encontrar Biblioteca e confirmar5. Clique em versões para selecionar a versão que deseja utilizar6. Caso deseje alterar o identificador da API, é o campo utilizado no auto-complete do editor7. Habilite o modo desenvolvedor caso deseje alterar a versão selecionada8. Clique SalvarGerenciando Bibliotecas
  12. 12. Gerenciando VersõesUma versão é uma cópia estática do script, uma vez salvo ele não poderá ser modificado, apenas deletando-o. Esta funcionalidade é muito útil quando uma aplicação sofre muitas alterações, permitindo sempre manterum registro das mesmas.Para criar um versão siga o procedimento abaixo:1. Selecione Arquivo > Gerenciar Versões2. Digite uma descrição da versão a ser criada
  13. 13. Monitoramento e CotasO Google Apps Script impõe cotas de uso para diferentes serviços. As cotas são distribuídas a fim de mantero serviço de qualidade da plataforma e estão sujeitas a alteração a qualquer momento, caso seja necessárioaumentar a cota de um determinado serviço é possível através do seguinte formulário, onde uma vezaprovado será incrementa.Para monitoramento dos serviços e das quotas, a Google disponibiliza um portal: https://docs.google.com/macros/dashboard
  14. 14. EventosUm evento é uma ação que acontece quando o estado de um objeto é alterado. O Google Apps Script écapaz de detectar alguns eventos, permitindo a execução de uma função a partir deste.Lista de eventos disponíveis:● Clock tick (execução de scripts de tempos em tempos, time-driven)● Instalação de scripts● Spreadsheets○ Ao abrir○ Ao alterar○ Ao editar○ Ao enviar um formulário● Formulário○ Ao abrir o editor○ Ao enviar um formulário● Documentos○ Ao abrir
  15. 15. Um trigger é um recurso que monitora a execução dos eventos e executa uma função uma vez que ativado.Triggers Simples - São triggers de sistema do Google Apps Script que permitem executar funções a partirdos eventos● onInstall - É ativada a partir da instalação do script● onOpen - É ativada a partir da abertura de uma planilha, documento ou formulário● onEdit - É ativada a partir da edição de uma planilhaTriggers Instaladas - São configuradas a partir do menu de Recursos ou a partir de um método declaradoutilizando ScriptApp.newTrigger()Time-Driven Trigger - Permite o agendamento de execução do scriptError Handling - Caso uma trigger não seja executada, o Apps Script enviará um email informando do erro,por default este email será enviado a meia noite e contém as informações de cada falha.Triggers
  16. 16. UiServiceO UiService permite a criação de interfaces de usuário utilizando widgets, semelhante ao padrão java.swing,recomenda-se sua utilização quando o navegador utilizado não suporta HTML5, substituindo o HtmlService.Elementos utilizados:● Push buttons● Radio buttons● Toggle buttons● Check Boxes● Text fields● Labels● Title● List Boxes● Dialog Boxes● Painéis de diversos tipos● Handlers
  17. 17. Esta classe permite a criação de páginas web garantindo a interação com os scripts criados, estafuncionalidade garante a criação de interfaces customizadas integradas ao Google Apps.Dentro dos arquivos HTML é possível utilizar grande parte dos recursos HTML, CSS e client-side JavaScript.Esta página será "apresentada" utilizando HTML5, embora algumas funcionalidades HTML5 não estarãodisponíveis.Outra possibilidade é a criação de scriptlets que são processados a nível de servidor antes da suarenderizaçãoHtmlService
  18. 18. O google.script é uma API JavaScript executada em client-side, permitindo a interação entre front-end com oback-end, esta interação é asíncrona, permitindo até 10 conexões simultâneas a nível de servidor.Parametros e retornos - É possível criar métodos que recebam como parametros entradas do front-endassim como é possível o servidor retornar dados ao front-end, permitindo uma interação entre ambos.Handlers - Devido a execução do código a nível do cliente ser contínuo o Google Script permite a criação dehandlers para tratar o retorno dos dados do servidor assim como falhasHtmlService : google.script
  19. 19. User Objects - É possível reutilizar o conceito dos Handlers para múltiplas chamadas ao servidorespecíficando o tipo de objeto que será passado como segundo parâmetro.HtmlService : google.script
  20. 20. Forms - Caso o servidor invoque uma função com elemento form como parametro, o form se transformaráem um objeto único, traduzidos da seguinte forma:● campos de nomes se tornarão chaves (keys)● campos de valores se tornarão valores (values)Todos os valores serão convertidos a strings, exceto aqueles que tenham o valor file-input que tornarão BlobObjectsHtmlService : google.script
  21. 21. Funções Private - As funções terminadas com underline "_" são consideradas privadas no Google AppsScript, sendo assim não podem ser executadas via google.script portanto seus nomes nunca serãoencaminhados ao client-side, contudo é possível encapsular o acesso através de outras funções.HtmlService : google.script
  22. 22. ScriptDB é um banco de dados orientado a Objetos em JavaScript, onde cada projeto tem um banco dedados único, permitindo salvar, atualizar, buscar objetos JavaScripts, onde é possível armazenarpermanentemente maps, arrays, strings e números.Instanciando o Banco de DadosPara instanciar o DB no Google Apps Script, basta criar um método que invoque ScriptDb.getMyDB(),este método retornará a instância pronta para uso.ScriptDB
  23. 23. ScriptDB - Métodos
  24. 24. O Google Apps Script tem a capacidade de conectar-se a qualquer banco de dados via JDBC com o serviçoJdbc Services, permitindo manipulação de dados em instâncias: MySQL, Microsoft SQL Server e Oracle,além destas ele também se conecta facilmente a dbs em nuvem como por exemplo o Google Cloud SQL.Para criar uma conexão ao banco de dados, primeiramente é necessário verificar a conexão entre a Googlee o Banco de Dados.Através do Google Apps Script o método que permite a conexão évar conn = Jdbc.getConnection(jdbc:<servertype>//<host>:<port>/<instance>, user, password);JDBC
  25. 25. Para permitir que a Google se conecte ao DB local será necessário a liberação das seguintes ranges de IPno firewall.JDBC - Local Databasesip4:216.239.32.0/19ip4:64.233.160.0/19ip4:66.249.80.0/20ip4:72.14.192.0/18ip4:209.85.128.0/17ip4:66.102.0.0/20ip4:74.125.0.0/16ip4:64.18.0.0/20ip4:207.126.144.0/20ip4:173.194.0.0/16216.239.32.0 - 216.239.63.25564.233.160.0 - 64.233.191.25566.249.80.0 - 66.249.95.25572.14.192.0 - 72.14.255.255209.85.128.0 - 209.85.255.25566.102.0.0 - 66.102.15.25574.125.0.0 - 74.125.255.25564.18.0.0 - 64.18.15.255207.126.144.0 - 207.126.159.255173.194.0.0 - 173.194.255.255ou
  26. 26. Quando um script é publicado via Web App, dois métodos de callback podem ser utilizadosdoGet() e doPost(), permitindo a manipulação dos REQUEST e RESPONSES.Estes métodos são geralmente utilizados para gerar um interfaces web (UI), utilizando UiApp eo HtmlService, contudo através do ContentService é possível criar aplicações onde o retornoseja um conteúdo texto puro.Esta funcionalidade permite a criação de Web Services retornando conteúdos em textospuros, XMLs, RSS, ATOM ou JSON.ContentService
  27. 27. Lista de Serviços Disponíveis e sua breve descrição:● Calendar - Permite o script ler e atualizar a agenda do usuário, provê acesso a agenda principal.● Contacts - Permite o usuário acessar os contatos, criando, atualizando e removendo-os● DocsList - Contem os métodos para criação de arquivos e pastas● Document - Serviço que permite a criação e edição de documentos● Domain - Permite administradores do domínio criar e modificar usuários, grupos, apelidos● Drive - Permite criar, encontrar e modificar arquivos e pastas no Google Drive● Finance - Permite executar funções Google Finance para obter informações da bolsa de valores● Forms - Permite criar, acessar e modificar Google Forms● Gmail - Permite o envio e acesso do Gmail do usuário● Groups - Permite realizar consultas ao serviços de Grupos do Google Apps● Language - Permite a tradução automática de um texto● Maps - Permite a geração automática de mapas, criar rotas e converter endereços em coordenadas● Sites - Permite acessar o serviço do Google Sites, para criação de conteúdo entre outros● Spreadsheet - Permite a criação, acesso e modificação de planilhasGoogle Apps Services
  28. 28. Advanced Google ServicesLista de Serviços Disponíveis e sua breve descrição:● AdSense - Permite o acesso ao inventório e habilidade de gerar relatórios● Analytics - Permite visualizar e gerenciar dados no Google Analytics● BigQuery - Permite interagir e analisar grande quantidade de dados● Prediction - Permite acessar a plataforma de IA da Google para criação de Smart Applications● Tasks - Permite a criação e gestão das listas de tarefas● UrlShortener - Permite a criação, inspeção e gestão de short URLs
  29. 29. Lista de Serviços Disponíveis e breve descrição.● Base - Permite acessar informações básicas como endereço de email, usuários entre outros● Cache - Permite o script gerar um cache temporário● Charts - Permite a criação de gráficos utilizando Google Chart Tools, utilizado dentro do UiServices● Content - Permite gerar conteúdos em diversos formatos, como por exemplo: texto, XML, JSON● Html - Permite os scripts retornarem valores HTML● Jdbc - Permite os scripts conectarem-se a banco de dados Jdbc (MySQL, Oracle, SQL Server)● Lock - Criar travas para evitar acessos concorrentes a trechos de código● Mail - Permite o script enviar emails em nome dos usuários● Properties - Permite armazenameto de dados como propriedades (script e user level)● Script - Permite a criação de triggers e controlar a publicação dos scripts● ScriptDb - Permite a utilização de um banco de dados simples● Soap - Permite acessar Web Services SOAP descritos via WSDL● Ui - Permite a criação de interfaces gráficas● UrlFetch - Permite os scripts acessarem outros recursos através de requests HTTP/HTTPS● Utilities - Provê métodos para encoding/decoding, formatação de datas e manipulação JSON● XML - Permite os scripts converter e navegar em documentos XMLScript Services
  30. 30. ● Developer Google Apps <https://developers.google.com/google-apps/>● Developer Google Apps Script <https://developers.google.com/apps-script/>● Google Apps Script Chrome App <http://goo.gl/blK8M>● Google Apps Script Issues <https://code.google.com/p/google-apps-script-issues/>● Stackoverflow Apps Script <http://stackoverflow.com/questions/tagged/google-apps-script>● Google Apps Script Book <http://goo.gl/gB1gZ>● Google Apps Script Sample <https://sites.google.com/site/scriptsexamples/>Referências
  31. 31. Alexandre Jacquetalejacquet@gmail.comBreno Araújobreno.araujo@acm.org<Thank You!><Obrigado!><Gracias!>

×