Servicios de Google integrados

Google Apps Script proporciona más de 30 servicios integrados para interactuar con como datos del usuario, otros sistemas de Google y sistemas externos. Estos servicios son se proporcionan como objetos globales, similares al Math . Por ejemplo, del mismo modo en que Math ofrece métodos como random() y constantes como PI, la de Apps Script El servicio de hojas de cálculo ofrece métodos como los siguientes: openById(id): clases (objetos secundarios), como Range y enums como DataValidationCriteria.

La documentación de referencia para los servicios que controlan Google Workspace productos se recolectan en la "Google Workspace Servicios" en la sección “Referencia” en la barra lateral de este sitio. Servicios de servicios públicos (para cosas como crear interfaces de usuario, analizar XML o escribir datos de registro) en "Servicios de secuencias de comandos" sección.

Funciones modernas de JavaScript

Apps Script admite dos tiempos de ejecución de JavaScript: el moderno V8 y uno anterior, con la tecnología de la Intérprete de JavaScript de Rhino.

El entorno de ejecución V8 es compatible Sintaxis y funciones de ECMAScript. El entorno de ejecución de Rhino se basa en JavaScript 1.6 estándar, además de algunas funciones de 1.7 y 1.8 Puedes elegir libremente qué entorno de ejecución con la secuencia de comandos, pero se recomienda el tiempo de ejecución V8.

Cada entorno de ejecución admite clases y objetos de JavaScript que están disponibles para tu secuencia de comandos, además de la y servicios avanzados de Google. Tu secuencias de comandos pueden usar objetos comunes, como Array: Date: RegExp y así sucesivamente, así como la Math y Object objetos globales.

Usa la función de autocompletar

El editor de secuencia de comandos ofrece una función de "asistencia de contenido" de atributos, más comúnmente llamado "autocompletar" que revela los objetos globales, así como métodos y enumeraciones válidos en el contexto actual de la secuencia de comandos. Aparecerán sugerencias de autocompletar de forma automática cada vez que escribes un punto después de un objeto, una enumeración o un método globales que muestre una clase de Apps Script. Por ejemplo:

  • Si escribes el nombre completo de un objeto global o seleccionas uno en autocompletar, Luego, escribe . (un punto); verás todos los métodos y enumeraciones para esa clase.
  • Si ingresas algunos caracteres, verás todos los caracteres que empiecen con esos caracteres.

Información sobre los objetos globales

Cada servicio proporciona al menos un objeto global (de nivel superior). por ejemplo, se puede acceder al servicio de Gmail únicamente desde el objeto GmailApp. Algunos servicios proporcionan múltiples objetos globales. por ejemplo, el El servicio base incluye cuatro objetos globales: Browser: Logger: MimeType y Session.

Métodos de llamada

Los objetos globales de casi todos los objetos Los servicios avanzados incluyen métodos que devolver datos o una clase de Apps Script. Las secuencias de comandos realizan llamadas a métodos en este formato:

GlobalObjectName.methodName(argument1, argument2, ..., argumentN);

Por ejemplo, una secuencia de comandos puede enviar un correo electrónico llamando al sendEmail(recipient, subject, body) del servicio de Gmail de esta manera:

GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');

Si un método devuelve otra clase de Apps Script, puedes encadenar llamadas de método en uno línea. (Los tipos de datos que se devuelven se muestran en autocompletar y en la referencia de un método documentation.) Por ejemplo, el método DocumentApp.create() muestra un Document; así, el las siguientes dos secciones de código son equivalentes:

var doc = DocumentApp.create('New document');
var body = doc.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
    .appendParagraph('New paragraph.');

Cómo acceder a clases secundarias

Todos los servicios incluyen una o más clases secundarias a las que no se puede acceder desde al nivel superior que un objeto global. No puedes usar la palabra clave new para construir estas clases, como puedes con las clases estándar de JavaScript, como Date; solo puedes acceder a una clase secundaria llamando a un método que la muestre. Si estás Si no estás seguro de cómo acceder a una clase en particular, visita la página raíz del servicio documentación de referencia y busca un método que devuelva la clase que deseas.

Trabajar con interfaces

Algunos servicios incluyen clases especiales etiquetadas como “interfaces”. en la documentación de referencia. Estas son clases genéricas que se usan como tipos de datos que se muestran. para métodos que no pueden determinar el tipo preciso por adelantado; por ejemplo, El método Servicio de documentos Body.getChild(childIndex) muestra un objeto Element genérico. Element es una interfaz que representa otra clase, posiblemente un Paragraph o Table Los objetos de la interfaz rara vez se útiles por sí solos; pero, por lo general, se recomienda llamar a un método como Element.asParagraph() para devolver el objeto a una clase precisa.

Cómo trabajar con enumeraciones

La mayoría de los servicios incluyen algunas enumeraciones (tipos enumerados) de valores con nombre. Para Por ejemplo, el servicio de Drive usa las enumeraciones Access y Permission para determinar qué usuarios tienen acceso a un archivo o una carpeta. En casi todos los casos, accedes a estas enumeraciones del objeto global. Por ejemplo, una llamada al método Folder.setSharing(accessType, permissionType) se ve así:

// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);