Como crear una biblioteca con Google Apps Script

Seguramente habrás oído hablar de las bibliotecas de Google Apps Script y te preguntarás si es algo que te puede servir en tus proyectos. Una biblioteca de Google Apps Script no es más que un proyecto al que le damos acceso al código desde otro proyectos. 

Para verlo claro, nada más sencillo que un ejemplo.

Abriremos un proyecto de código dentro de un spreadsheet (como hacemos en el resto de proyectos) y escribiremos una función que haga algo concreto, en mi caso he hecho una función muy sencilla que se encarga de sumar vectores:

/**
 * Función que se encarga de sumar vectores. No controla tamaños.
 * @param a Primer vector a sumar
 * @param b Segundo vector a sumar
 * @return Suma de los vectores a y b
 */
function VectorSum(a,b) 
{
  var c = new Array();

  for(var i = 0 ; i < a.length ; ++i)
  {
     c.push( a[i]+b[i] );
  }
  return c;
}

Una vez tengamos hecho este código vamos a publicarlo como librería.

Le vamos a a dar a Implementar > Nueva Implementación

Y seleccionaremos que la nueva implementación es una biblioteca


Y pondremos una descripción de para que sirve nuestra biblioteca.

Con ello conseguiremos una ruta de acceso a la biblioteca que es lo que usaremos para distribuirla y usarla en nuestros proyectos.

Para "instalar" la libreria en nuestro proyecto solo debemos crear un nuevo proyecto de código y darle al botón de la izquierda de + Bibliotecas.


Aquí veréis que una vez detecte el id de nuestra librería nos permitirá seleccionar la versión que tendremos que usar y (muy importante) el nombre que usaremos para el workspace, el identificador.

Todas las funciones de la biblioteca se llamarán a través de ese identificador. Una vez hemos "instalado" la librería en el nuevo proyecto podemos llamar a la función de la librería usando el nombre del workspace de esta manera:

function TestSum()
{
   var a = [1.0,2.0,3.0];  
   var b = [3.0,4.0,5.0];
   var c = MathLib.VectorSum(a,b);
   Logger.log(c);
}

Como podéis ver es una funcionalidad muy potente que nos permite organizar y limpiar el código, poderlo distribuir de una forma sencilla y tener un control bastante mayor sobre nuestras implementaciones.

Espero que os haya servido, no vacileis en hacerme llegar vuestras dudas.

Nos vemos!


2 comentarios:

  1. Tengo una duda, ¿puedo compartir el archivo a otro usuario como lector y se usa normalmente?

    ResponderEliminar
    Respuestas
    1. Si el script hace cosas que el usuario lector no tiene permisos para ejecutar no podrá hacerlo (a efectos prácticos, casi todo). Generalmente el usuario que ejecuta scripts ha de tener permisos de escritura. Es un poco complicado este tema a veces.... sorry.

      Eliminar

Tal vez te interese