Google AppsScript - Overview

  • Published on
    21-Jan-2015

  • View
    1.278

  • Download
    5

DESCRIPTION

Breve apresentao sobre o Google Apps Script

Transcript

  • 1. O que o Google Apps ScriptGoogle Apps script uma linguagem de script baseada em JavaScript na nuvem,que permite extender a utilizao do Google Apps. Criar funes especficas dentro do Google Spreadsheet Criar processos que possam englobar diversas aplicaes (Formulrios,Documentos, Emails, etc) Criar e publicar aplicaes web Agendar tarefas Integrao com bancos de dados (JDBC)

2. Ambiente de DesenvolvimentoPara desenvolver utilizando o Google Apps Script, a nica ferramenta necessria um navegador de WEB (atual), nele possvel criar e gerenciar os arquivos eprojetos existentes. 3. Para acessar o editor de scripts existem 3 opes, sendo elas:1. Atravs do Google DriveClique em Criar > Script (Caso no esteja disponvel, clique em Criar > Conectar mais aplicativos epesquise por Script)2. Atravs de um Documento, Planilha ou FormulrioCrie um documento, planilha ou formulrio e em seguida clique em Ferramentas > Editor de Scripts3. Atravs 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. Execuo dos scriptsExistem diversos mtodos de execuo dos scripts, sendo os principais: Editor de Scripts Funo especfica no Google Spreadsheets Web app* Google Sites Gadget* Time-driven Trigger Container-specific Trigger Spreadsheets, Documents, Forms, Sites 5. Para a execuo de Web Apps e Gadgets no Google Sites so necessrios osseguintes passos: Criar um mtodo doGet(e) Criar uma interface utilizando UiService ou HtmlService Salvar uma verso da aplicaoDeploy da aplicao Web Selecione Publicar > Implantar como aplicativo da web Selecione as opes do projeto Verso do Projeto Executar aplicao como Quem tem acesso a aplicaoWebApp e Gadgets 6. WebApp e Gadgets 7. WebApp e GadgetsInsero do Gadget no Google Sites Navegue at a pgina que desejainserir o gadget. Selecione para editar a pgina Clique em Inserir > Google AppsScript Gadget Selecione o script ou adicione a URL Salve as alteraes 8. Container ExtensionsOutra opo para execuo dos scripts a criao de novas abas para execuo a partir de aplicaescomo Docs, Sheets e Forms, sendo necessrio apenas a definio de um mtodo onOpen( ). 9. Apps Script ServicesAtravs do Google Apps Script possvel interagir com uma srie de servios para manipulao dos dados,entre eles servios Google ou de terceiros (3rd parties)Google Apps Services - Estes servios so divididos em APIs especficas onde cada um prov acesso aum conjunto de funcionalidades.Advanced Google Services - So servios no habilitados por default, devido a utilizao restrita, para asua utilizao de parte destes servios ser necessria a criao de um projeto especfico e uma chave APIdentro do Google Apps API Console. 10. Por se tratar de uma linguagem baseada em JavaScript, o Google Apps Script permite a interao comoutras APIs. Servios adicionais Google ou 3rd-Party API - A fim de garantir a integrao da plataforma, oGoogle Apps Script permite realizar REQUESTs e RESPOSES HTTP/HTTPS permitindo a criao ouutilizao de APIs externas, utilizando o UrlFetch SOAP Services - Outra opo a utilizao do SOAP Service garantindo a comunicao com webservices baseados nesta tecnologiaPara a manipulao dos dados, possvel trabalharmos com XML ou JSON.External API 11. Bibliotecas so projetos que podem ser inseridos pelos usurios a fim de ganhar acesso a novasfuncionalidades.Para incluir uma biblioteca no projeto, ser necessrio: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 verses para selecionar a verso 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 verso selecionada8. Clique SalvarGerenciando Bibliotecas 12. Gerenciando VersesUma verso uma cpia esttica do script, uma vez salvo ele no poder ser modificado, apenas deletando-o. Esta funcionalidade muito til quando uma aplicao sofre muitas alteraes, permitindo sempre manterum registro das mesmas.Para criar um verso siga o procedimento abaixo:1. Selecione Arquivo > Gerenciar Verses2. Digite uma descrio da verso a ser criada 13. Monitoramento e CotasO Google Apps Script impe cotas de uso para diferentes servios. As cotas so distribudas a fim de mantero servio de qualidade da plataforma e esto sujeitas a alterao a qualquer momento, caso seja necessrioaumentar a cota de um determinado servio possvel atravs do seguinte formulrio, onde uma vezaprovado ser incrementa.Para monitoramento dos servios e das quotas, a Google disponibiliza um portal: https://docs.google.com/macros/dashboard 14. EventosUm evento uma ao que acontece quando o estado de um objeto alterado. O Google Apps Script capaz de detectar alguns eventos, permitindo a execuo de uma funo a partir deste.Lista de eventos disponveis: Clock tick (execuo de scripts de tempos em tempos, time-driven) Instalao de scripts Spreadsheets Ao abrir Ao alterar Ao editar Ao enviar um formulrio Formulrio Ao abrir o editor Ao enviar um formulrio Documentos Ao abrir 15. Um trigger um recurso que monitora a execuo dos eventos e executa uma funo uma vez que ativado.Triggers Simples - So triggers de sistema do Google Apps Script que permitem executar funes a partirdos eventos onInstall - ativada a partir da instalao do script onOpen - ativada a partir da abertura de uma planilha, documento ou formulrio onEdit - ativada a partir da edio de uma planilhaTriggers Instaladas - So configuradas a partir do menu de Recursos ou a partir de um mtodo declaradoutilizando ScriptApp.newTrigger()Time-Driven Trigger - Permite o agendamento de execuo do scriptError Handling - Caso uma trigger no seja executada, o Apps Script enviar um email informando do erro,por default este email ser enviado a meia noite e contm as informaes de cada falha.Triggers 16. UiServiceO UiService permite a criao de interfaces de usurio utilizando widgets, semelhante ao padro java.swing,recomenda-se sua utilizao quando o navegador utilizado no suporta HTML5, substituindo o HtmlService.Elementos utilizados: Push buttons Radio buttons Toggle buttons Check Boxes Text fields Labels Title List Boxes Dialog Boxes Painis de diversos tipos Handlers 17. Esta classe permite a criao de pginas web garantindo a interao com os scripts criados, estafuncionalidade garante a criao de interfaces customizadas integradas ao Google Apps.Dentro dos arquivos HTML possvel utilizar grande parte dos recursos HTML, CSS e client-side JavaScript.Esta pgina ser "apresentada" utilizando HTML5, embora algumas funcionalidades HTML5 no estarodisponveis.Outra possibilidade a criao de scriptlets que so processados a nvel de servidor antes da suarenderizaoHtmlService 18. O google.script uma API JavaScript executada em client-side, permitindo a interao entre front-end com oback-end, esta interao asncrona, permitindo at 10 conexes simultneas a nvel de servidor.Parametros e retornos - possvel criar mtodos que recebam como parametros entradas do front-endassim como possvel o servidor retornar dados ao front-end, permitindo uma interao entre ambos.Handlers - Devido a execuo do cdigo a nvel do cliente ser contnuo o Google Script permite a criao dehandlers para tratar o retorno dos dados do servidor assim como falhasHtmlService : google.script 19. User Objects - possvel reutilizar o conceito dos Handlers para mltiplas chamadas ao servidorespecficando o tipo de objeto que ser passado como segundo parmetro.HtmlService : google.script 20. Forms - Caso o servidor invoque uma funo com elemento form como parametro, o form se transformarem um objeto nico, traduzidos da seguinte forma: campos de nomes se tornaro chaves (keys) campos de valores se tornaro valores (values)Todos os valores sero convertidos a strings, exceto aqueles que tenham o valor file-input que tornaro BlobObjectsHtmlService : google.script 21. Funes Private - As funes terminadas com underline "_" so consideradas privadas no Google AppsScript, sendo assim no podem ser executadas via google.script portanto seus nomes nunca seroencaminhados ao client-side, contudo possvel encapsular o acesso atravs de outras funes.HtmlService : google.script 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 possvel armazenarpermanentemente maps, arrays, strings e nmeros.Instanciando o Banco de DadosPara instanciar o DB no Google Apps Script, basta criar um mtodo que invoque ScriptDb.getMyDB(),este mtodo retornar a instncia pronta para uso.ScriptDB 23. ScriptDB - Mtodos 24. O Google Apps Script tem a capacidade de conectar-se a qualquer banco de dados via JDBC com o servioJdbc Services, permitindo manipulao de dados em instncias: MySQL, Microsoft SQL Server e Oracle,alm destas ele tambm se conecta facilmente a dbs em nuvem como por exemplo o Google Cloud SQL.Para criar uma conexo ao banco de dados, primeiramente necessrio verificar a conexo entre a Googlee o Banco de Dados.Atravs do Google Apps Script o mtodo que permite a conexo var conn = Jdbc.getConnection(jdbc://:/, user, password);JDBC 25. Para permitir que a Google se conecte ao DB local ser necessrio a liberao 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. Quando um script publicado via Web App, dois mtodos de callback podem ser utilizadosdoGet() e doPost(), permitindo a manipulao dos REQUEST e RESPONSES.Estes mtodos so geralmente utilizados para gerar um interfaces web (UI), utilizando UiApp eo HtmlService, contudo atravs do ContentService possvel criar aplicaes onde o retornoseja um contedo texto puro.Esta funcionalidade permite a criao de Web Services retornando contedos em textospuros, XMLs, RSS, ATOM ou JSON.ContentService 27. Lista de Servios Disponveis e sua breve descrio: Calendar - Permite o script ler e atualizar a agenda do usurio, prov acesso a agenda principal. Contacts - Permite o usurio acessar os contatos, criando, atualizando e removendo-os DocsList - Contem os mtodos para criao de arquivos e pastas Document - Servio que permite a criao e edio de documentos Domain - Permite administradores do domnio criar e modificar usurios, grupos, apelidos Drive - Permite criar, encontrar e modificar arquivos e pastas no Google Drive Finance - Permite executar funes Google Finance para obter informaes da bolsa de valores Forms - Permite criar, acessar e modificar Google Forms Gmail - Permite o envio e acesso do Gmail do usurio Groups - Permite realizar consultas ao servios de Grupos do Google Apps Language - Permite a traduo automtica de um texto Maps - Permite a gerao automtica de mapas, criar rotas e converter endereos em coordenadas Sites - Permite acessar o servio do Google Sites, para criao de contedo entre outros Spreadsheet - Permite a criao, acesso e modificao de planilhasGoogle Apps Services 28. Advanced Google ServicesLista de Servios Disponveis e sua breve descrio: AdSense - Permite o acesso ao inventrio e habilidade de gerar relatrios 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 criao de Smart Applications Tasks - Permite a criao e gesto das listas de tarefas UrlShortener - Permite a criao, inspeo e gesto de short URLs 29. Lista de Servios Disponveis e breve descrio. Base - Permite acessar informaes bsicas como endereo de email, usurios entre outros Cache - Permite o script gerar um cache temporrio Charts - Permite a criao de grficos utilizando Google Chart Tools, utilizado dentro do UiServices Content - Permite gerar contedos 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 cdigo Mail - Permite o script enviar emails em nome dos usurios Properties - Permite armazenameto de dados como propriedades (script e user level) Script - Permite a criao de triggers e controlar a publicao dos scripts ScriptDb - Permite a utilizao de um banco de dados simples Soap - Permite acessar Web Services SOAP descritos via WSDL Ui - Permite a criao de interfaces grficas UrlFetch - Permite os scripts acessarem outros recursos atravs de requests HTTP/HTTPS Utilities - Prov mtodos para encoding/decoding, formatao de datas e manipulao JSON XML - Permite os scripts converter e navegar em documentos XMLScript Services 30. Developer Google Apps Developer Google Apps Script Google Apps Script Chrome App Google Apps Script Issues Stackoverflow Apps Script Google Apps Script Book Google Apps Script Sample Referncias 31. Alexandre Jacquetalejacquet@gmail.comBreno Arajobreno.araujo@acm.org