Google Apps Script

llenguatge de programació pensat per aplicatius de servidor lleugers

Google Apps Script és una plataforma de scripts desenvolupada per Google per al desenvolupament d'aplicacions per a la plataforma Google Workspace. Va ser desenvolupat inicialment per Mike Harm com a projecte paral·lel mentre treballava com a desenvolupador a fulls de càlcul (També de Google Workspace i compatible amb aquest).[1]

Apps Script
Tipusllenguatge de programació i entorn de treball per a aplicacions web Modifica el valor a Wikidata
Basat enJavaScript
Característiques tècniques
Escrit enJavaScript
Equip
Desenvolupador(s)Google
Més informació
Lloc webscript.google.com
Stack ExchangeEtiqueta Modifica el valor a Wikidata

La principal funció de Google Apps Script és facilitar la creació d'eines personalitzades per a les organitzacions (encara que també està disponible per individuals que tinguin un compte de Google), És centrat principalment en l'automatització de tasques i la simplificació dels processos d'administració del sistema. Admet un model comunitari de suport als usuaris.

Google Apps Script va ser anunciat públicament per primera vegada en maig de 2009 per Jonathan Rochelle, que en aquell moment era director de Google Docs (documents de Google). L'agost de 2009, Google Apps Script es va publicar per a tots els clients de «Google Apps Premier» i «Education Edition».

Exemples

modifica

El següent codi utilitza els serveis de UI d'Apps Scripts i els servis de DocList per mostrar el contingut d'una carpeta de Google Drive en format d'arbre.

Observi l'ús de JavaScript i l'ús dels ginys Google Web Toolkit (Google també va introduir el servei HTML en juny de 2012, com a alternativa als ginys GWT. Permet fer pàgines web que poden interactuar amb les funcions d'script al costat del servidor.)

function doGet(e) {   
  var app = UiApp.createApplication();
  var scrollPanel = app.createScrollPanel(); // Scroll Panel is a Google Web Toolkit Widget
  tree = app.createTree(); // Tree is a Google Web Toolkit Widget
  tree.addItem(buildTree(app, "Enterprise 2.0 - Saqib"));
  scrollPanel.add(tree);  
  scrollPanel.setHeight("500");
  app.add(scrollPanel);
  return app;
}

function buildTree(a, searchTerm) {
  var tree = a.createTreeItem(); // TreeItem is Google Web Toolkit Widget
  tree.setText(searchTerm);

  // Use of the Apps Script DocList Service to retrieve the collections.
  var folders = DocsList.getFolder(searchTerm).getFolders(); 
  for (var i = 0; i < folders.length; i++) {
    tree.addItem(buildTree(a, folders[i].getName())).setState(true, true);
  }

  var files = DocsList.getFolder(searchTerm).getFiles();
  for (var i = 0; i < files.length; i++) {    
    if (files[i].getType() === "document") {
      urlBase = "https://docs.google.com/document/edit?id=";
      iconHTML = "https://docs.google.com/images/doclist/icon_7_document_list.png";
    } 
    else if (files[i].getType() === "spreadsheet") {      
      urlBase = "https://spreadsheets.google.com/ccc?key=";
      iconHTML = "https://docs.google.com/images/doclist/icon_7_spreadsheet_list.png";
    }
    else if (files[i].getType() === "presentation") {       
      urlBase = "https://docs.google.com/present/edit?id=";
      iconHTML = "https://docs.google.com/images/doclist/icon_7_presentation_list.png";
    }
    else if (files[i].getType() === "drawing") {       
      urlBase = "https://docs.google.com/drawings/edit?id=";
      iconHTML = "https://docs.google.com/images/doclist/icon_7_drawing_list.png";       
    }
    else {
      urlBase = "https://docs.google.com/fileview?id=";
      iconHTML = "https://docs.google.com/images/doclist/icon_7_generic_list.png";    
    }    

    var image = a.createImage(iconHTML);
    var fileLabel = a.createAnchor(files[i].getName(), urlBase+ files[i].getId());     
    var fileLabelPanel = a.createHorizontalPanel();
    fileLabelPanel.add(image);
    fileLabelPanel.add(fileLabel);     
    tree.addItem(fileLabelPanel).setState(true, true);
  }   
  return tree;   
}

Incrustar HTML en GAS amb un giny GWT:

function doGet() {
  var app = UiApp.createApplication();
  app.add(app.createHTML("<b>Hello World!</b>"));
  return app;
}

Complements

modifica

El març de 2014, Google va introduir complements per a Documents i Fulls de càlcul (aviat seguit de Formularis). El catàleg de complements permet als usuaris afegir funcions addicionals a part dels serveis de Google Workspace. Els complements es creen al 100% amb Apps Script o simplement utilitzen Apps Script per mostrar una interfície d'usuari.

Abans dels complements, era possible publicar scripts per a Fulls de càlcul de Google a la Galeria de scripts. Quan els usuaris instal·laven scripts a través d'aquesta galeria, s'instal·lava una còpia del codi d'Apps Script al Full de l'usuari. Amb els complements, el codi font no és visible per a l'usuari final i tothom fa servir la darrera versió publicada pel desenvolupador.

Com a part del llançament de complements, Google també va implementar un sistema d'interfases que ajuda els desenvolupadors a fer interfases més fàcilment. Els complements són revisats per Google abans de ser publicats, i els desenvolupadors poden beneficiar-se de feedback (suggeriments) que deixen els usuaris de Google. No es permet posar anuncis dintre dels complements però sí monetitzar-los.

Referències

modifica
  1. Koleda, Eric. «Celebrating 10 years of Apps Script: looking back on how it started». Google Cloud Blog, August 21, 2019. [Consulta: 22 agost 2019].

Enllaços externs

modifica