appsscript enthält alles, was einen Google-Dienst berührt. Es ist der Teil der Bibliothek, der nur innerhalb der Apps-Script-Laufzeit läuft — was das beim Testen bedeutet, steht in Die Apps-Script-Laufzeit.
Pakete
Paket
Enthält
appsscript/base
allgemeine Helfer, die die Dienstpakete gemeinsam nutzen
Präsentationen: Folien finden, Text ersetzen, Markdown umwandeln
appsscript/net
die Authentifizierung von Anfragen
appsscript/ui
die eingebauten Klassen Ui, HtmlOutput und TextOutput
appsscript/doc, appsscript/drive, appsscript/form
reserviert, noch nicht umgesetzt
A1-Notation
parseA1Notation macht aus einer Notationszeichenkette einen GridRange — ein einfaches Objekt mit nullbasierten, halboffenen Grenzen, wie die Sheets-API sie führt, und nicht mit den einsbasierten Positionen, die Range-Methoden nehmen:
Zwei Zählweisen sind im Spiel, und die Funktionsnamen sagen, welche sie liefern. Ein Index zählt ab null, wie in einem GridRange; eine Position ab eins, wie bei Sheet.getRange():
Sie schreiben in einem Aufruf statt Zeile für Zeile — das ist der Unterschied zwischen einem Dienstaufruf und einem je Zeile. Alle Zeilen müssen gleich lang sein; isConsistent2DArray aus lang ist die Prüfung davor.
Typprüfungen für Dienstobjekte
Dieselbe Konvention wie im Rest der Bibliothek, angewandt auf die Apps-Script-Klassen:
import { isSheet, isSpreadsheet, isRange, requireSheet } from "apps-script-utils";
function rowCount(value: unknown): number {
return requireSheet(value).getLastRow();
}
import { getSlideByIndex, findReplaceAllTextInSlide, requireSlide } from "apps-script-utils";
const presentation = SlidesApp.getActivePresentation();
// getSlideByIndex gibt null zurück, wenn der Index außerhalb liegt; dort, wo
// eine fehlende Folie das Skript anhalten soll, kombiniert man es mit requireSlide.
const slide = requireSlide(getSlideByIndex(presentation, 0));
findReplaceAllTextInSlide(slide, "{{name}}", "Ada Lovelace");
findReplaceAllTextInSlide gibt die Zahl der Ersetzungen zurück und achtet standardmäßig auf Groß- und Kleinschreibung; mit false als viertem Argument sucht es ohne. requireSlide wirft SlideNotFoundException, wenn der Wert keine Folie ist.
Admin SDK
import { isAdmin } from "apps-script-utils";
if (isAdmin()) {
Logger.log("Access granted to admin panel.");
}
isAdmin antwortet mit false, wenn der Admin-SDK-Directory-Dienst im Projekt nicht aktiviert ist, und protokolliert den Grund, statt zu werfen. Der Aufruf ist damit auch beim Aufbau eines Menüs sicher, aber ein false beweist für sich genommen nicht, dass der Nutzer kein Administrator ist. Aktivieren Sie den erweiterten Dienst, bevor Sie sich auf die Antwort verlassen.