Google Apps Script bietet mehr als 30 integrierte Dienste für die Interaktion mit
Nutzerdaten, andere Google-Systeme und externe Systeme. Diese Dienste werden als globale Objekte bereitgestellt, ähnlich dem Standardobjekt Math
von JavaScript. So wie Math
Methoden wie random()
und Konstanten wie PI
bietet, bietet der Tabellendienst von Apps Script Methoden wie openById(id)
, Klassen (untergeordnete Objekte) wie Range
und Enumerationen wie DataValidationCriteria
.
Die Referenzdokumentation für Dienste, dieGoogle Workspace -Produkte steuern, finden Sie in der Seitenleiste dieser Website im Abschnitt „Google Workspace Dienste“ unter der Überschrift „Referenz“. Versorgungsdienstleistungen (für Dinge wie das Erstellen von Benutzeroberflächen, das Parsen von XML oder das Schreiben von Protokolldaten), werden erfasst in den „Script Services“ .
Moderne JavaScript-Funktionen
Apps Script unterstützt zwei JavaScript-Laufzeiten: die moderne V8-Laufzeit und eine ältere Version mit der Rhino JavaScript-Interpreter
Die V8-Laufzeitumgebung unterstützt moderne ECMAScript-Syntax und ‑Funktionen. Die Rhino-Laufzeit basiert auf der älteren JavaScript 1.6 sowie einige Funktionen von 1.7 und 1.8. Sie können die Laufzeit frei auswählen zur Verwendung mit Ihrem Skript. Die V8-Laufzeit wird jedoch dringend empfohlen.
Jede Laufzeit unterstützt JavaScript-Klassen und -Objekte, die Ihrem
neben dem integrierten
und erweiterte Google-Dienste. Ihr
können gängige Objekte wie
Array
,
Date
,
RegExp
und so weiter,
sowie die
Math
und
Object
globalen Objekten.
Automatische Vervollständigung verwenden
Der Script-Editor bietet einen „Content Assist“-Modus eine Funktion, „automatische Vervollständigung“, das globale Objekte sowie Methoden und Enums anzeigt. die im aktuellen Kontext des Skripts gültig sind. Vorschläge für die automatische Vervollständigung werden angezeigt. Automatisch immer dann, wenn Sie nach einem globalen Objekt, einer Aufzählung oder einer Methode einen Punkt eingeben aufrufen, der eine Apps Script-Klasse zurückgibt. Beispiel:
- Wenn Sie den vollständigen Namen eines globalen Objekts eingeben oder eines aus der automatischen Vervollständigung auswählen und dann
.
(ein Punkt) eingeben, werden alle Methoden und Enumerationen für diese Klasse angezeigt. - Wenn Sie einige Zeichen eingeben, werden alle gültigen Vorschläge angezeigt, die mit diesen Zeichen beginnen.
Informationen zu globalen Objekten
Jeder Dienst stellt mindestens ein globales Objekt (Ebene 1) bereit. Beispielsweise wird auf den Gmail-Dienst ausschließlich über das Objekt GmailApp
zugegriffen. Einige Dienste stellen mehrere globale Objekte bereit. Der Base-Dienst umfasst beispielsweise vier globale Objekte: Browser
, Logger
, MimeType
und Session
.
Aufrufmethoden
Die globalen Objekte fast aller integrierten oder erweiterte Dienste umfassen Methoden, Daten oder eine Apps Script-Klasse zurückgeben. Skripts führen Methodenaufrufe in folgendem Format aus:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
Ein Script kann beispielsweise eine E-Mail senden, indem die Methode sendEmail(recipient, subject, body)
des Gmail-Dienstes aufgerufen wird:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Wenn eine Methode eine andere Apps Script-Klasse zurückgibt, können Sie Methodenaufrufe in einer Zeile verketten. Rückgabetypen werden sowohl in der automatischen Vervollständigung als auch in der Referenzdokumentation einer Methode angezeigt. Die Methode
DocumentApp.create()
gibt ein Document
-Objekt zurück. Somit kann der
folgenden zwei Codeabschnitten entsprechen:
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.');
Auf untergeordnete Kurse zugreifen
Jeder Dienst enthält eine oder mehrere untergeordnete Klassen, auf die nicht zugegriffen werden kann
wie ein globales Objekt dies tun kann. Sie können das Schlüsselwort new
nicht für Folgendes verwenden:
diese Klassen konstruieren, wie Sie es mit standardmäßigen JavaScript-Klassen wie
Date
;
Sie können nur auf eine untergeordnete Klasse zugreifen, indem Sie eine Methode aufrufen, die sie zurückgibt. Wenn Sie
nicht sicher sind, wie Sie auf eine bestimmte Klasse zugreifen können, rufen Sie die Stammseite des
Referenzdokumentation und suchen Sie nach einer Methode,
die die gewünschte Klasse zurückgibt.
Umgang mit Benutzeroberflächen
Einige Dienste umfassen spezielle Klassen, die in der Referenzdokumentation als „Schnittstellen“ gekennzeichnet sind. Dies sind generische Klassen, die als Rückgabetypen verwendet werden
für Methoden, die den genauen Typ nicht im Voraus ermitteln können; zum Beispiel
Methode Document service
Body.getChild(childIndex)
gibt ein generisches Element
-Objekt zurück.
Element
ist eine Schnittstelle, die eine andere Klasse darstellt, möglicherweise eine
Paragraph
oder
Table
Schnittstellenobjekte sind selten für sich allein nützlich. Stattdessen sollten Sie normalerweise eine Methode wie Element.asParagraph()
aufrufen, um das Objekt in eine bestimmte Klasse zu werfen.
Mit Enums arbeiten
Die meisten Dienste enthalten einige Enums (Enumerationstypen) von benannten Werten. Für
Der Drive-Dienst verwendet beispielsweise die enum-Typen
Access
und
Permission
, um zu ermitteln, welche Nutzer
auf eine Datei oder einen Ordner zugreifen können. In fast allen Fällen greifen Sie über das globale Objekt auf diese Enumerationen zu. Ein Aufruf der Methode
Folder.setSharing(accessType, permissionType)
sieht so aus:
// 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);