Google Apps Script fornisce più di 30 servizi integrati per interagire con i dati utente, altri sistemi Google e sistemi esterni. Questi servizi vengono forniti come oggetti globali simili all'oggetto Math
standard di JavaScript. Ad esempio, proprio come Math
offre metodi come random()
e
costanti come PI
,
Il servizio per i fogli di lavoro offre metodi come
openById(id)
,
(oggetti secondari) come
Range
ed enum simili
DataValidationCriteria
.
La documentazione di riferimento per i servizi che controllano i prodottiGoogle Workspace è raccolta nella sezione "Google Workspace Servizi" sotto l'intestazione "Riferimento" nella barra laterale di questo sito. I servizi di utilità (per operazioni come la creazione di interfacce utente, l'analisi XML o la scrittura di dati di log) vengono raccolti nella sezione "Servizi di script".
Funzionalità JavaScript moderne
Apps Script supporta due runtime JavaScript: V8 runtime e uno meno recente con tecnologia Mozilla Interprete JavaScript di Rhino.
Il runtime V8 supporta la sintassi e le funzionalità di ECMAScript moderne. Il runtime Rhino si basa sullo standard precedente JavaScript 1.6 , oltre ad alcune funzionalità di 1.7 e 1.8. Puoi scegliere liberamente il runtime da utilizzare con lo script, ma è vivamente consigliato il runtime V8.
Ogni runtime supporta le classi e gli oggetti JavaScript disponibili
oltre allo scripting incorporato
e servizi Google avanzati. Il tuo
gli script possono utilizzare oggetti comuni
Array
,
Date
,
RegExp
,
e così via,
così come i
Math
e
Object
di oggetti globali.
Utilizzo del completamento automatico
L'editor di script fornisce un evento indiretto dei contenuti più comunemente chiamata "completamento automatico" che rivela gli oggetti globali, nonché metodi ed enum validi nel contesto corrente dello script. Vengono visualizzati suggerimenti di completamento automatico automaticamente ogni volta che digiti un punto dopo un oggetto, un'enumerazione o un metodo globale che restituisce una classe Apps Script. Ad esempio:
- Se digiti il nome completo di un oggetto globale o ne selezioni uno dal completamento automatico,
poi digiti
.
(un punto), vedrai tutti i metodi e gli enum per quella classe. - Se digiti alcuni caratteri, vengono visualizzati tutti i valori suggerimenti che iniziano con questi caratteri.
Informazioni sugli oggetti globali
Ogni servizio fornisce almeno un oggetto globale (di primo livello); ad esempio,
si accede al servizio Gmail solo dall'oggetto
GmailApp
. Alcuni servizi forniscono più oggetti globali; ad esempio, il servizio di base include quattro oggetti globali: Browser
, Logger
, MimeType
e Session
.
Metodi di chiamata
Gli oggetti globali di quasi tutti i componenti servizi avanzati includono metodi che restituire dati o una classe Apps Script. Gli script effettuano chiamate al metodo nel seguente formato:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
Ad esempio, uno script può inviare un'email chiamando il metodo
sendEmail(recipient, subject, body)
del servizio Gmail in questo modo:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Se un metodo restituisce un'altra classe Apps Script, puoi concatenare le chiamate di metodo su una
dalla riga di comando. I tipi di restituzione vengono mostrati sia nel completamento automatico sia nel riferimento di un metodo
documentation.) Ad esempio, il metodo
DocumentApp.create()
restituisce un Document
. Pertanto, le
due sezioni di codice seguenti sono equivalenti:
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.');
Accesso ai corsi secondari
Ogni servizio include una o più classi secondarie a cui non è possibile accedere dal livello superiore come per un oggetto globale. Non puoi utilizzare la parola chiave new
per
costruisci queste classi, come puoi fare con le classi JavaScript standard
Date
;
puoi accedere a una classe figlio solo chiamando un metodo che la restituisce. Se non sai come accedere a un determinato gruppo, visita la pagina principale della documentazione di riferimento del servizio e cerca un metodo che restituisca il gruppo che ti interessa.
Gestione delle interfacce
Alcuni servizi includono classi speciali denominate "interfacce"
nella documentazione di riferimento. Queste sono classi generiche utilizzate come tipi di reso
per i metodi che non possono determinare in anticipo il tipo preciso; ad esempio
Il metodo Document Service
Body.getChild(childIndex)
restituisce un oggetto Element
generico.
Element
è un'interfaccia che rappresenta un'altra classe, possibilmente un
Paragraph
o
Table
. Gli oggetti dell'interfaccia sono raramente
utili da soli; al contrario, di solito conviene chiamare un metodo come
Element.asParagraph()
per ritrasmettere l'oggetto a una classe precisa.
Utilizzo degli enum
La maggior parte dei servizi include alcuni enum (tipi enumerati) di valori denominati. Per
Ad esempio, il servizio Drive utilizza le enumerazioni
Access
e
Permission
per stabilire quali utenti
hanno accesso a un file o a una cartella. In quasi tutti i casi, accedi a queste enum
dall'oggetto globale. Ad esempio, una chiamata al metodo
Folder.setSharing(accessType, permissionType)
ha il seguente aspetto:
// 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);