Script do Google Apps - Google Apps Script

Apps Script
Google Apps Script.png
Desenvolvedor (s) Google
lançamento inicial 19 de agosto de 2009 ; Há 12 anos ( 19/08/2009 )
Escrito em JavaScript
Modelo Framework de aplicações web , quadro scripting
Local na rede Internet script .google .com

Apps Script é uma plataforma de script desenvolvida pelo Google para o desenvolvimento de aplicativos leves na plataforma Google Workspace . O Google Apps Script foi inicialmente desenvolvido por Mike Harm como um projeto paralelo enquanto trabalhava como desenvolvedor no Planilhas Google. O Google Apps Script foi anunciado publicamente pela primeira vez em maio de 2009, quando um programa de teste beta foi anunciado por Jonathan Rochelle, então gerente de produto do Google Docs. Em agosto de 2009, o Script do Google Apps foi posteriormente disponibilizado para todos os clientes do Google Apps Premier e Education Edition. Ele é baseado em JavaScript 1.6, mas também inclui algumas partes de 1.7 e 1.8 e um subconjunto da API ECMAScript 5. Os projetos do Apps Script são executados no lado do servidor na infraestrutura do Google . De acordo com o Google, o Apps Script "fornece maneiras fáceis de automatizar tarefas em produtos do Google e serviços de terceiros." O Apps Script também é a ferramenta que capacita os complementos para Documentos, Planilhas e Apresentações Google .

Benefícios

  1. Baseado em JavaScript 1.6 e uma seleção de JavaScript 1.7 e 1.8
  2. Depurador baseado em nuvem para depurar scripts de aplicativos no navegador da web.
  3. Ele pode ser usado para criar ferramentas simples para o consumo interno de uma organização.
  4. Ele pode ser usado para executar tarefas simples de administração do sistema.
  5. Modelo de apoio baseado na comunidade. [1]

Limitações

  1. Limitações de processamento - Como um serviço baseado em nuvem, o Apps Script limita o tempo de execução do script de um usuário, além de limitar o acesso aos serviços do Google.
  2. Atualmente, a Google Apps Store não permite a conexão direta com bancos de dados corporativos internos (por trás do firewall), o que é fundamental para a construção de aplicativos de negócios, no entanto, por meio do uso do serviço JDBC, isso pode ser superado, se as conexões forem permitidas dos servidores do Google para o servidor de banco de dados interno. Da mesma forma, a falta de outra conectividade, como a conectividade LDAP, limita o nível em que o GAS pode ser usado na empresa.
  3. Devido à natureza da nuvem do Apps Script, as funções relacionadas à data e hora produzirão resultados que parecem estar incorretos devido aos dados que cruzam os fusos horários . O uso de objetos e funções de Data / Hora sem uma declaração muito precisa e testes completos pode resultar em resultados imprecisos.

Exemplo

function doGet(e) {  
  var searchTerm = 'Script Tools'
  var ui = XmlService.createDocument(XmlService.createElement('html')).setDocType(XmlService.createDocType('html'))
  var body = XmlService.createElement('body')  
  body = buildTree(body, searchTerm);
  ui.getRootElement().addContent(body)
  return HtmlService.createHtmlOutput(XmlService.getRawFormat().format(ui))
}


function buildTree(node, searchTerm) {
  var ul = XmlService.createElement('ul').addContent(XmlService.createElement('p').addContent(XmlService.createText(searchTerm))); 
  // Use of the Apps Script DriveApp Service to retrieve the collections.  
  var folders = DriveApp.getFoldersByName(searchTerm).next().getFolders()
  while (folders.hasNext()){    
    var thisFolder = folders.next();   
    var li = XmlService.createElement('li');   
    var resp = buildTree(li, thisFolder.getName())            
    ul.addContent(li);
  }

  var files =  DriveApp.getFoldersByName(searchTerm).next().getFiles()   
  while (files.hasNext()) {    
    var thisFile = files.next()    
    if (thisFile.getMimeType() === "application/vnd.google-apps.document") {
      urlBase = "https://docs.google.com/document/edit?id=";
      iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.document";
    }    
    else if (thisFile.getMimeType() === "application/vnd.google-apps.spreadsheet") {      
      urlBase = "https://spreadsheets.google.com/ccc?key=";
      iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.spreadsheet";
    }
    else if (thisFile.getMimeType() === "application/vnd.google-apps.script") {      
      urlBase = "https://docs.google.com/fileview?id=";
      iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.script";
    }
    else if (thisFile.getMimeType() === "application/vnd.google-apps.presentation") {       
      urlBase = "https://docs.google.com/present/edit?id=";
      iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.presentation";
    }
    else if (thisFile.getMimeType() === "application/vnd.google-apps.drawing") {       
      urlBase = "https://docs.google.com/drawings/edit?id=";
      iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/vnd.google-apps.drawing";       
    }
    else {
      urlBase = "https://docs.google.com/fileview?id=";
      iconHTML = "https://drive-thirdparty.googleusercontent.com/32/type/application/application/vnd.google-apps.unknown";    
    }    
    
    var li = XmlService.createElement('li');     
    var image = XmlService.createElement('img').setAttribute('src', iconHTML);    
    var fileLabel =  XmlService.createElement('a').setAttribute('href', urlBase + thisFile.getId())
                      .setAttribute('target', '_blank').addContent(XmlService.createText(thisFile.getName()))
    var fileLabelPanel = XmlService.createElement('div').setAttribute('style', 'display:flex;flex-direction: row;')
    fileLabelPanel.addContent(image)
    fileLabelPanel.addContent(fileLabel)    
    li.addContent(fileLabelPanel)
    ul.addContent(li)
  }    
  node.addContent(ul)
  return node;   
}

Complementos

Em março de 2014, o Google lançou complementos para Documentos e Planilhas (logo seguidos por Formulários). As lojas de complementos permitem que os usuários adicionem recursos extras aos editores do Google, como mesclagem de mensagens, fluxos de trabalho, criadores de diagramas, ... Todos os complementos são 100% desenvolvidos com Apps Script ou simplesmente usam Apps Script para exibir uma IU no os editores do Google enquanto contam com um back-end externo para realizar algumas tarefas. Por exemplo, MailChimp, uma ferramenta de mala direta, tem um add-on para Google Docs que se comunica com a plataforma MailChimp para enviar e-mails.

Antes dos add-ons, era possível publicar scripts para o Planilhas Google na Galeria de scripts. Quando os usuários instalaram scripts por meio desta galeria, uma cópia do código do Apps Script foi instalada na planilha do usuário. Com add-ons, o código-fonte não é visível para o usuário final e todos estão usando a versão mais recente publicada pelo desenvolvedor. Essa nova abordagem facilita o suporte ao código existente e ajudou a convencer várias empresas, como MailChimp ou LucidChart, a investir em Apps Script.

Como parte do lançamento de complementos, o Google também introduziu um Guia de estilo de IU e um pacote CSS para ajudar os desenvolvedores a criar complementos que se integram perfeitamente aos editores. Cada complemento também é revisado pelo Google antes de sua publicação e os desenvolvedores podem se beneficiar dos conselhos dos Googlers para fornecer uma melhor experiência ao usuário. Não é possível incorporar anúncios em add-ons, mas é possível monetizá-los.

Veja também

Referências

links externos