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);