Servizi Google integrati

Google Apps Script offre più di 30 servizi integrati per interagire con dati utente, altri sistemi Google e sistemi esterni. Questi servizi forniti come oggetti globali simili allo standard Math . 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 Google Workspace i prodotti vengono raccolti "Google Workspace Servizi" nel "Riferimento" nella barra laterale di questo sito. Servizi di pubblica utilità (per cose come la creazione di interfacce utente, l'analisi del codice XML o la scrittura di dati di log). nel menu "Servizi per 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 le moderne Sintassi e funzionalità di ECMAScript. Il runtime di Rhino si basa sulla versione JavaScript 1.6 standard, più alcune funzionalità 1.7 e 1,8. Puoi scegliere liberamente quale 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, quindi digita . (un punto) e vedrai tutti i metodi e le enum per quella classe.
  • Se digiti alcuni caratteri, vengono visualizzati tutti i valori suggerimenti che iniziano con questi caratteri.

Comprensione degli oggetti globali

Ogni servizio fornisce almeno un oggetto globale (primo livello); ad esempio Il servizio Gmail è accessibile esclusivamente dalla l'oggetto GmailApp. Alcuni servizi fornire 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; quindi due sezioni di codice seguenti sono equivalenti:

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

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

Accesso ai corsi per bambini

Ogni servizio include uno o più corsi secondari a cui non è possibile accedere il livello più alto di 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 una determinata classe, visita la pagina root del documentazione di riferimento e cerca un metodo che restituisca la classe che vuoi.

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, ad esempio una Paragraph oppure 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 delle enum

La maggior parte dei servizi include alcune 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);