De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Apps Script es una plataforma de secuencias de comandos desarrollada por Google para el desarrollo de aplicaciones ligeras en la plataforma Google Workspace . Google Apps Script fue desarrollado inicialmente por Mike Harm como un proyecto paralelo mientras trabajaba como desarrollador en Google Sheets. [2] Google Apps Script se anunció públicamente por primera vez en mayo de 2009 cuando Jonathan Rochelle, entonces director de producto de Google Docs, anunció un programa de prueba beta. [3] En agosto de 2009, Google Apps Script se puso posteriormente a disposición de todos los clientes de Google Apps Premier y Education Edition. [4] Está basado en JavaScript 1.6, pero también incluye algunas partes de 1.7 y 1.8 y un subconjunto de ECMAScript.5 API. [5] Los proyectos de Apps Script se ejecutan en el lado del servidor en la infraestructura de Google . Según Google, Apps Script "proporciona formas sencillas de automatizar tareas en productos de Google y servicios de terceros". [6] Apps Script también es la herramienta que potencia los complementos para Documentos, Hojas de cálculo y Presentaciones de Google . [7]

Beneficios [ editar ]

  1. Basado en JavaScript 1.6 y una selección de JavaScript 1.7 y 1.8 [8]
  2. Depurador basado en la nube para depurar scripts de aplicaciones en el navegador web.
  3. Puede utilizarse para crear herramientas sencillas para el consumo interno de una organización.
  4. Se puede utilizar para realizar tareas sencillas de administración del sistema.
  5. Modelo de apoyo basado en la comunidad. [1]

Limitaciones [ editar ]

  1. Limitaciones de procesamiento: como servicio basado en la nube, Apps Script limita el tiempo que puede ejecutarse la secuencia de comandos de un usuario, además de limitar el acceso a los servicios de Google. [9]
  2. Actualmente, Google Apps Store no permite la conexión directa a bases de datos corporativas internas (detrás del firewall), lo cual es clave para crear aplicaciones comerciales; sin embargo, mediante el uso del servicio JDBC, esto se puede solucionar si se permiten las conexiones desde los servidores de Google. al servidor de base de datos interno. [10] De manera similar, la falta de otra conectividad, como la conectividad LDAP, limita el nivel al que se puede utilizar GAS en la empresa. [ cita requerida ]
  3. Debido a la naturaleza de nube de Apps Script, las funciones relacionadas con la fecha y la hora producirán resultados que parecen incorrectos debido a que los datos cruzan las zonas horarias . El uso de objetos y funciones de fecha / hora sin una declaración muy precisa y pruebas exhaustivas puede dar como resultado resultados inexactos. [11]

Ejemplo [ editar ]

function  doGet ( e )  {  var  searchTerm  =  'Herramientas de secuencia de comandos'  var  ui  =  XmlService . createDocument ( XmlService . createElement ( 'html' )). setDocType ( XmlService . createDocType ( 'html' ))  var  body  =  XmlService . createElement ( 'cuerpo' )  cuerpo  =  buildTree ( cuerpo , término de  búsqueda ); ui . getRootElement (). addContent ( cuerpo )  devuelve  HtmlService . createHtmlOutput ( XmlService . getRawFormat (). format ( ui )) }función  buildTree ( nodo , término de  búsqueda )  {  var  ul  =  XmlService . createElement ( 'ul' ). addContent ( XmlService . createElement ( 'p' ). addContent ( XmlService . createText ( searchTerm )));  // Uso del servicio Apps Script DriveApp para recuperar las colecciones.  var  carpetas  =  DriveApp . getFoldersByName (término de búsqueda ). Siguiente(). getFolders ()  while  ( carpetas . hasNext ()) {  var  thisFolder  =  carpetas . siguiente ();  var  li  =  XmlService . createElement ( 'li' );  var  resp  =  buildTree ( li ,  thisFolder . getName ())  ul . addContent ( li );  } var  archivos  =  DriveApp . getFoldersByName (término de búsqueda ). siguiente (). getFiles ()  while  ( archivos . hasNext ())  {  var  thisFile  =  archivos . 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 ( 'objetivo' , '_en blanco' ). addContent ( XmlService . createText ( thisFile . getName ()))  var  fileLabelPanel  =  XmlService . createElement ( 'div' ). setAttribute ( 'estilo' ,  'display: flex; flex-direction: row;' )  fileLabelPanel . addContent ( imagen )  fileLabelPanel . addContent ( etiqueta de archivo )  li . addContent ( fileLabelPanel ) ul . addContent ( li )  }  nodo . addContent ( ul )  return  nodo ;  }

Complementos [ editar ]

En marzo de 2014, Google introdujo complementos para Documentos y Hojas de cálculo (seguidos pronto por Formularios). Las tiendas de complementos permiten a los usuarios agregar funciones adicionales a los editores de Google, como combinación de correo, flujos de trabajo, creadores de diagramas, ... Todos los complementos están construidos al 100% con Apps Script o simplemente usan Apps Script para mostrar una interfaz de usuario en los editores de Google mientras dependen de un backend externo para realizar algunas tareas. Por ejemplo, MailChimp, una herramienta de combinación de correo, tiene un complemento para Google Docs que se comunica con la plataforma MailChimp para enviar correos electrónicos.

Antes de los complementos, era posible publicar scripts para Google Sheets en la Galería de scripts. Cuando los usuarios instalaron scripts a través de esta galería, se instaló una copia del código de Apps Script en la hoja del usuario. Con los complementos, el código fuente no es visible para el usuario final y todos están usando la última versión publicada por el desarrollador. Este nuevo enfoque facilita la compatibilidad con el código existente y ayudó a convencer a varias empresas, como MailChimp o LucidChart, de invertir en Apps Script.

Como parte del lanzamiento de complementos, Google también presentó una guía de estilo de interfaz de usuario [12] y un paquete CSS para ayudar a los desarrolladores a crear complementos que se integran sin problemas en los editores. Google también revisa cada complemento antes de su publicación y los desarrolladores pueden beneficiarse de los consejos de los empleados de Google para brindar una mejor experiencia de usuario. No es posible insertar anuncios en complementos, pero es posible monetizarlos. [13]

Ver también [ editar ]

  • Motor de aplicaciones de Google
  • Creador de aplicaciones de Google

Referencias [ editar ]

  1. ^ Meyer, David (20 de agosto de 2009). "Google Apps Script recibe luz verde" . CNet . Consultado el 26 de marzo de 2011 .
  2. ^ Koleda, Eric (21 de agosto de 2019). "Celebrando 10 años de Apps Script: mirando hacia atrás en cómo comenzó" . Blog de Google Cloud . Consultado el 22 de agosto de 2019 .
  3. ^ Rochelle, Jonathan (27 de mayo de 2009). "Herramienta vieja, trucos nuevos" . Blog de Google Cloud . Consultado el 22 de agosto de 2019 .
  4. ^ Levey, Evin (19 de agosto de 2009). "Google Apps Script se lanzó a Google Apps Premier y Education" . Secuencia de comandos de Google Apps . Consultado el 22 de agosto de 2019 .
  5. ^ Kienle, Holger (mayo-junio de 2010). "Es hora de tomar JavaScript (más) en serio" . Software IEEE . 27 (3): 60–62. doi : 10.1109 / MS.2010.76 . Archivado desde el original el 29 de junio de 2010 . Consultado el 25 de marzo de 2011 .
  6. ^ Secuencia de comandos de Google Apps
  7. ^ Traiga algo extra a Documentos y Hojas de cálculo con complementos
  8. ^ Google Inc. (28 de agosto de 2018). "Servicios integrados de Google" . Secuencia de comandos de Google Apps . Consultado el 16 de mayo de 2019 .
  9. ^ https://developers.google.com/apps-script/guides/services/quotas
  10. ^ https://developers.google.com/apps-script/guides/jdbc
  11. ^ "Problema 1035: utilities.formatdate resta un día" . Consultado el 17 de diciembre de 2012 .
  12. ^ Guía de estilo de la interfaz de usuario para complementos
  13. ^ He comenzado un pequeño experimento ...

Enlaces externos [ editar ]

  • Página web oficial
  • developers.google.com/apps-script/case-studies