Google Apps Script bietet mehr als 30 integrierte Dienste für die Interaktion mit
Nutzerdaten, andere Google-Systeme und externe Systeme. Diese Dienste sind
werden als globale Objekte bereitgestellt, die dem JavaScript-Standard ähnlich sind.
Math
-Objekt enthält. So wie Math
Methoden wie random()
und
Konstanten wie PI
, Apps Scripts
Tabellenkalkulation bietet Methoden wie
openById(id)
,
Klassen (untergeordnete Objekte) wie
Range
und Enums wie
DataValidationCriteria
.
Die Referenzdokumentation für Dienste, die steuern Google Workspace die Produkte gesammelt werden in „Google Workspace Dienste“ unter dem „Referenz“ in der Seitenleiste dieser Website. 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-Laufzeit 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,
Geben Sie dann
.
(einen Punkt) ein. Daraufhin werden alle Methoden und Aufzählungen für diese Klasse angezeigt. - Wenn Sie nur wenige Zeichen eingeben, sehen Sie alle gültigen Vorschläge, die mit diesen Zeichen beginnen.
Informationen zu globalen Objekten
Jeder Dienst stellt mindestens ein globales Objekt (oberste Ebene) bereit. zum Beispiel
Der Zugriff auf Gmail erfolgt ausschließlich über
GmailApp
-Objekt. Einige Dienste
mehrere globale Objekte bereitstellen; Beispiel: Der
Der Basisdienst umfasst 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 Skript kann z. B. eine E-Mail senden, indem es die Methode
sendEmail(recipient, subject, body)
des Gmail-Dienstes so:
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 auf einer
Zeile. Rückgabetypen werden sowohl in der automatischen Vervollständigung als auch in der Referenz einer Methode angezeigt.
documentation.) 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 Klassen 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
Zu einigen Diensten gehören spezielle Klassen, die als „Schnittstellen“ gekennzeichnet sind
in der Referenzdokumentation. 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
selbst nützlich sein können; stattdessen eine Methode wie diese
Element.asParagraph()
um das Objekt wieder in eine präzise Klasse umzuwandeln.
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 auf diese Enums zu.
aus dem globalen Objekt. 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);