Bibliotecas

Una biblioteca es un proyecto de secuencia de comandos cuyas funciones se pueden reutilizar en otras secuencias de comandos.

Cómo obtener acceso a una biblioteca

Para incluir una biblioteca en tu proyecto, debes tener, como mínimo, un nivel de vista el acceso a ellos. Si no eres el autor de la biblioteca que quieres comunícate con el autor y solicítale acceso.

Necesitas el ID de secuencia de comandos de la biblioteca que deseas incluir. Cuando tengas acceso a la biblioteca, puedes encontrar el ID de la secuencia de comandos en Configuración del proyecto Página de

Agrega una biblioteca a tu proyecto de secuencia de comandos

  1. A la izquierda del editor de Apps Script, junto a "Bibliotecas", haz clic en Agregar biblioteca .
  2. En "ID de la secuencia de comandos", y pega el ID de la secuencia de comandos de la biblioteca.
  3. Haz clic en Mirar hacia arriba.
  4. Haz clic en el menú desplegable Versión y selecciona la versión de la biblioteca. usar.
  5. Verifica si el "Identificador" predeterminado es el que quieres usar con esta biblioteca. Este es el nombre que la secuencia de comandos utiliza para consulta la biblioteca. Por ejemplo, si lo estableces en Test, puedes llama a un método de esa biblioteca de la siguiente manera: Test.libraryMethod().
  6. Haz clic en Agregar.

Cómo usar una biblioteca

Usa la biblioteca incluida como usarías un servicio predeterminado. Para Por ejemplo, si Test es el identificador de tu biblioteca, escribe Test inmediatamente seguido de un punto para ver la lista de métodos en la biblioteca.

Para abrir la documentación de referencia de una biblioteca incluida, sigue estos pasos: estos pasos:

A la izquierda del editor de secuencias de comandos, junto al nombre de la biblioteca, haz clic en Más. > Ábrela en una pestaña nueva.

Cómo quitar una biblioteca

A la izquierda del editor de secuencias de comandos, junto al nombre de la biblioteca, haz clic en Más. > Quitar > Quitar biblioteca.

Cómo actualizar una biblioteca

Puedes cambiar la versión de la biblioteca o actualizar su identificador.

  1. A la izquierda del editor, en "Bibliotecas", haz clic en el nombre de la biblioteca.
  2. Realice los cambios y haga clic en Guardar.

Cómo crear y compartir una biblioteca

Para utilizar y compartir tu proyecto de secuencia de comandos como una biblioteca, sigue los pasos que se indican a continuación.

  1. Crea una implementación con control de versiones del guion.
  2. Comparte al menos el acceso a nivel de lectura con todos los usuarios potenciales de la biblioteca.
  3. Proporciona a esos usuarios el ID de secuencia de comandos, que se encuentra en la sección Proyecto Configuración .

Prácticas recomendadas

A continuación, se incluyen algunas pautas que se deben seguir para escribir una biblioteca:

  1. Elige un nombre significativo para tu proyecto, ya que se utilizará como es el identificador predeterminado cuando otras personas incluyen tu biblioteca.
  2. Si quieres que uno o más métodos de tu secuencia de comandos no sean visibles (ni utilizable) a los usuarios de tu biblioteca, puedes finalizar el nombre del método con un guion bajo. Por ejemplo, myPrivateMethod_().
  3. Solo los usuarios de la biblioteca pueden ver las propiedades globales enumerables. Esto incluye la función declaraciones, variables creadas fuera de una función con var y propiedades establecidas de forma explícita del objeto global. Por ejemplo, Object.defineProperty() con enumerable establecido en false crea un símbolo que podrás usar en tu biblioteca, pero los usuarios no podrán acceder a él.
  4. Si quieres que los usuarios de tu biblioteca usen el autocompletado del editor de secuencias de comandos, la documentación generada automáticamente, debes tener archivos documentación de todas tus funciones. Por ejemplo:

    /**
     * Raises a number to the given power, and returns the result.
     *
     * @param {number} base the number we're raising to a power
     * @param {number} exp the exponent we're raising the base to
     * @return {number} the result of the exponential calculation
     */
    function power(base, exp) { ... }
    

Alcance de recursos

Hay dos tipos de recursos cuando trabajas con bibliotecas: compartidos y no se comparten. Un recurso compartido significa que tanto la biblioteca como la inclusión tienen acceso integrado a la misma instancia del recurso. El En el siguiente diagrama, se ilustra un recurso compartido con el ejemplo de Propiedades del usuario:

Recurso compartido

Un recurso no compartido significa que tanto la biblioteca como la secuencia de comandos incluida acceso integrado solo a su instancia del recurso. Sin embargo, una biblioteca puede proporcionan acceso a sus recursos no compartidos por medio de funciones explícitas que operar en ellas. Aquí hay un ejemplo de una función que incluirías en tu biblioteca para exponer sus propiedades de la secuencia de comandos:

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

En el siguiente diagrama, se ilustra un recurso no compartido con el ejemplo de Propiedades de la secuencia de comandos:

Recurso no compartido

En esta tabla, se enumeran los recursos compartidos y no compartidos para tu referencia:

Recurso Compartido* No compartidos** Notas
Bloquear Todas las secuencias de comandos, incluidas las secuencias de comandos, pueden ver la misma instancia cuando se crea en la biblioteca.
Propiedades de secuencia de comandos Todas las secuencias de comandos, incluidas las secuencias de comandos, pueden ver la misma instancia cuando se crea en la biblioteca.
Caché Todas las secuencias de comandos, incluidas las secuencias de comandos, pueden ver la misma instancia cuando se crea en la biblioteca.
Activadores Los activadores simples creados en la biblioteca no se activan con la inclusión secuencia de comandos.
ScriptApp
UiApp
Propiedades del usuario
Registrador y transcripción de ejecución
Sites, Hojas de cálculo y otros contenedores Una llamada a getActive() devuelve el contenedor del incluido el script.
MailApp y GmailApp
* Esto significa que la biblioteca no tiene su propia instancia del función o recurso, y, en su lugar, usa el que creó la secuencia de comandos que lo invocó.
** Esto significa que la biblioteca tiene su propia instancia del recurso o la función. y que todas las secuencias de comandos que usan la biblioteca compartan y tengan acceso a ese misma instancia.

Cómo probar una biblioteca

Para probar la biblioteca, usa la implementación head. Cualquier persona que tenga acceso de edición acceso a la secuencia de comandos puede usar la implementación principal.

Cómo depurar una biblioteca

Cuando usas el depurador en un proyecto que incluye una biblioteca puedes entrar a una función de la biblioteca incluida. El código aparece en el depurador en el modo de solo lectura y en la versión correcta.