Auf Skriptveröffentlichung und Trigger zugreifen und diese bearbeiten. Mit dieser Klasse können Nutzer Skripttrigger erstellen und die Veröffentlichung des Skripts als Dienst steuern.
Attribute
Attribut | Typ | Beschreibung |
---|---|---|
Auth | Auth | Eine Aufzählung, die angibt, welche Kategorien autorisierter Dienste Apps Script über eine ausgelöste Funktion ausführen kann. |
Authorization | Authorization | Eine Aufzählung, die den Autorisierungsstatus eines Skripts angibt. |
Event | Event | Eine Aufzählung, die den Typ des ausgelösten Ereignisses angibt. |
Installation | Installation | Eine Aufzählung, die angibt, wie das Skript als Add-on für den Nutzer installiert wurde. |
Trigger | Trigger | Eine Aufzählung, die die Quelle des Ereignisses angibt, das den Trigger auslöst. |
Week | Weekday | Eine Aufzählung, die die Wochentage darstellt. |
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
delete | void | Entfernt den angegebenen Trigger, sodass er nicht mehr ausgeführt wird. |
get | Authorization | Ruft ein Objekt ab, mit dem geprüft wird, ob der Nutzer die Autorisierung für alle Skriptanforderungen erteilt hat. |
get | Authorization | Ruft ein Objekt ab, das prüft, ob der Nutzer die Autorisierung für die angeforderten Bereiche erteilt hat. |
get | String | Ruft ein Openopenid gewährt wurde. |
get | Installation | Gibt einen Enumerationswert zurück, der angibt, wie das Script als Add-on für den aktuellen Nutzer installiert wurde. Das kann beispielsweise sein, dass der Nutzer es selbst über den Chrome Web Store installiert hat oder dass ein Domainadministrator es für alle Nutzer installiert hat. |
get | String | Ruft das OAuth 2.0-Zugriffstoken für den effektiven Nutzer ab. |
get | Trigger[] | Ruft alle installierbaren Trigger ab, die dem aktuellen Projekt und dem aktuellen Nutzer zugeordnet sind. |
get | String | Ruft die eindeutige ID des Skriptprojekts ab. |
get | Service | Ruft ein Objekt ab, mit dem das Veröffentlichen des Skripts als Web-App gesteuert wird. |
get | Trigger[] | Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Dokument gehören, nur für dieses Skript oder Add-on. |
get | Trigger[] | Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Formular für dieses Skript oder Add-on gehören. |
get | Trigger[] | Ruft alle installierbaren Trigger ab, die diesem Nutzer in der angegebenen Tabelle gehören, nur für dieses Skript oder Add-on. |
invalidate | void | Macht die Autorisierung ungültig, die der effektive Nutzer zum Ausführen des aktuellen Skripts hat. |
new | State | Erstellt einen Builder für ein Status-Token, das in einer Callback-API (z. B. einem OAuth-Ablauf) verwendet werden kann. |
new | Trigger | Startet den Prozess zum Erstellen eines installierbaren Triggers, der beim Auslösen eine bestimmte Funktion aufruft. |
require | void | Prüft, ob der Nutzer die Einwilligung für alle vom Skript angeforderten Bereiche erteilt hat. |
require | void | Prüft, ob der Nutzer die Einwilligung für die angeforderten Bereiche erteilt hat. |
Detaillierte Dokumentation
delete Trigger(trigger)
Entfernt den angegebenen Trigger, sodass er nicht mehr ausgeführt wird.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
trigger | Trigger | Der zu löschende Trigger. |
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Ruft ein Objekt ab, mit dem geprüft wird, ob der Nutzer die Autorisierung für alle Skriptanforderungen erteilt hat. Das Objekt enthält auch eine Autorisierungs-URL, über die Nutzer diese Berechtigungen erteilen können, falls eine der Scriptanforderungen nicht autorisiert ist.
Einige Skriptausführungen können ohne die Einwilligung des Nutzers für alle erforderlichen Bereiche gestartet werden, die vom Skript verwendet werden. Mit den Informationen in diesem Objekt können Sie den Zugriff auf Codeabschnitte steuern, für die bestimmte Bereiche erforderlich sind, und die Autorisierung dieser Bereiche für nachfolgende Ausführungen anfordern.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den Autorisierungsinformationen angefordert werden. In fast allen Fällen sollte der Wert für auth Script sein, da für keinen anderen Autorisierungsmodus eine Autorisierung durch Nutzer erforderlich ist. |
Rückflug
Authorization
: Ein Objekt, das Informationen zum Autorisierungsstatus des Nutzers liefern kann.
get Authorization Info(authMode, oAuthScopes)
Ruft ein Objekt ab, das prüft, ob der Nutzer die Autorisierung für die angeforderten Bereiche erteilt hat. Das Objekt enthält auch eine Autorisierungs-URL, über die Nutzer diese Berechtigungen gewähren können, falls einer der angeforderten Bereiche nicht autorisiert ist.
Einige Skriptausführungen können ohne die Einwilligung des Nutzers für alle erforderlichen Bereiche gestartet werden, die vom Skript verwendet werden. Mit den Informationen in diesem Objekt können Sie den Zugriff auf Codeabschnitte steuern, für die bestimmte Bereiche erforderlich sind, und die Autorisierung dieser Bereiche für nachfolgende Ausführungen anfordern. Bereiche, die ungültig sind oder nicht vom Skript benötigt werden, führen zu einem Fehler.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den Autorisierungsinformationen angefordert werden. In fast allen Fällen sollte der Wert für auth Script sein, da für keinen anderen Autorisierungsmodus eine Autorisierung durch Nutzer erforderlich ist. |
oAuthScopes | String[] | Die OAuth-Bereiche, für die Autorisierungsinformationen angefordert werden. |
Rückflug
Authorization
: Ein Objekt, das Informationen zum Autorisierungsstatus des Nutzers und eine Autorisierungs-URL enthält, falls einige Einwilligungen fehlen.
get Identity Token()
Ruft ein Openopenid
gewährt wurde. Dieser Bereich ist nicht standardmäßig enthalten und muss als expliziter Bereich in der Manifestdatei hinzugefügt werden, um ihn anzufordern. Fügen Sie die Bereiche https://www.googleapis.com/auth/userinfo.email
oder https://www.googleapis.com/auth/userinfo.profile
ein, um zusätzliche Nutzerinformationen im Token zurückzugeben.
Das zurückgegebene ID-Token ist ein codiertes JSON Web Token (JWT) und muss decodiert werden, um Informationen daraus zu extrahieren. Die folgenden Beispiele zeigen, wie Sie das Token decodieren und die Google-Profil-ID des effektiven Nutzers extrahieren.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
Rückflug
String
: Das Identitätstoken, falls verfügbar, andernfalls null
.
get Installation Source()
Gibt einen Enumerationswert zurück, der angibt, wie das Script als Add-on für den aktuellen Nutzer installiert wurde. Das kann beispielsweise sein, dass der Nutzer es selbst über den Chrome Web Store installiert hat oder dass ein Domainadministrator es für alle Nutzer installiert hat.
Rückflug
Installation
– Die Installationsquelle.
get OAuth Token()
Ruft das OAuth 2.0-Zugriffstoken für den effektiven Nutzer ab. Wenn die OAuth-Bereiche des Skripts ausreichen, um eine andere Google API zu autorisieren, für die normalerweise ein eigener OAuth-Ablauf erforderlich ist (z. B. Google Picker), können Skripts die zweite Autorisierungsaufforderung umgehen, indem sie dieses Token übergeben. Das Token läuft nach einer bestimmten Zeit ab (mindestens einige Minuten). In Skripts sollten Autorisierungsfehler behandelt und diese Methode aufgerufen werden, um bei Bedarf ein neues Token zu erhalten.
Das von dieser Methode zurückgegebene Token enthält nur Bereiche, die das Skript derzeit benötigt. Bereiche, die zuvor autorisiert wurden, aber nicht mehr vom Skript verwendet werden, sind nicht im zurückgegebenen Token enthalten. Wenn zusätzliche OAuth-Bereiche erforderlich sind, die über die vom Skript selbst benötigten Bereiche hinausgehen, können sie in der Manifestdatei des Skripts angegeben werden.
Rückflug
String
: Eine Stringdarstellung des OAuth 2.0-Tokens.
get Project Triggers()
Ruft alle installierbaren Trigger ab, die dem aktuellen Projekt und dem aktuellen Nutzer zugeordnet sind.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Rückflug
Trigger[]
: Ein Array der Trigger des aktuellen Nutzers, die mit diesem Projekt verknüpft sind.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Ruft die eindeutige ID des Skriptprojekts ab. Dies ist die bevorzugte Methode, um die eindeutige Kennung für das Skriptprojekt abzurufen, im Gegensatz zu
. Diese ID kann überall dort verwendet werden, wo zuvor der Projektschlüssel angegeben wurde.get
Rückflug
String
: Die ID des Skriptprojekts.
get Service()
Ruft ein Objekt ab, mit dem das Veröffentlichen des Skripts als Web-App gesteuert wird.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Rückflug
Service
: Ein Objekt, mit dem die Veröffentlichung des Skripts als Web-App beobachtet und gesteuert wird.
get User Triggers(document)
Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Dokument gehören, nur für dieses Skript oder Add-on. Mit dieser Methode können Sie nicht die Trigger sehen, die anderen Skripts zugeordnet sind.
const doc = DocumentApp.getActiveDocument(); const triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Parameter
Name | Typ | Beschreibung |
---|---|---|
document | Document | Eine Google Docs-Datei, die möglicherweise installierbare Trigger enthält. |
Rückflug
Trigger[]
: Ein Array von Triggern, die diesem Nutzer im angegebenen Dokument gehören.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Formular für dieses Skript oder Add-on gehören. Mit dieser Methode können Sie nicht die Trigger sehen, die anderen Skripts zugeordnet sind.
const form = FormApp.getActiveForm(); const triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Parameter
Name | Typ | Beschreibung |
---|---|---|
form | Form | Eine Google-Formulare-Datei, die installierbare Trigger enthalten kann. |
Rückflug
Trigger[]
: Ein Array von Triggern, die diesem Nutzer im angegebenen Formular gehören.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Ruft alle installierbaren Trigger ab, die diesem Nutzer in der angegebenen Tabelle gehören, nur für dieses Skript oder Add-on. Mit dieser Methode können Sie nicht die Trigger sehen, die anderen Skripts zugeordnet sind.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Parameter
Name | Typ | Beschreibung |
---|---|---|
spreadsheet | Spreadsheet | Eine Google-Tabelle, die installierbare Trigger enthalten kann. |
Rückflug
Trigger[]
: Ein Array von Triggern, die diesem Nutzer in der angegebenen Tabelle gehören.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Macht die Autorisierung ungültig, die der effektive Nutzer zum Ausführen des aktuellen Skripts hat. Wird verwendet, um alle Berechtigungen für das aktuelle Skript ungültig zu machen. Das ist besonders nützlich für Funktionen, die mit der einmaligen Autorisierung gekennzeichnet sind. Da Funktionen für die einmalige Autorisierung nur beim ersten Ausführen aufgerufen werden können, nachdem das Skript die Autorisierung erhalten hat, müssen Sie alle Autorisierungen des Skripts widerrufen, wenn Sie danach eine Aktion ausführen möchten. So kann der Nutzer den Autorisierungsdialog noch einmal sehen.
ScriptApp .invalidateAuth();
Löst
Error
– wenn die Ungültigmachung fehlschlägt
new State Token()
Erstellt einen Builder für ein Status-Token, das in einer Callback-API (z. B. einem OAuth-Ablauf) verwendet werden kann.
// Generate a callback URL, given the name of a callback function. The script // does not need to be published as a web app; the /usercallback URL suffix // replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the // /edit at the end. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
In den meisten OAuth2-Abläufen wird das state
-Token direkt an den Autorisierungsendpunkt übergeben (nicht als Teil der Rückruf-URL). Der Autorisierungsendpunkt übergibt es dann als Teil der Rückruf-URL.
Beispiel:
- Das Script leitet den Nutzer zur OAuth2-Autorisierungs-URL weiter:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- Der Nutzer klickt auf „Autorisieren“ und die OAuth2-Autorisierungsseite leitet ihn zurück zu
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
. - Die oben genannte Weiterleitung (zurück zu
http://script.google.com/...
) führt dazu, dass der Browser/usercallback
anfordert, wodurch die vonState
angegebene Methode aufgerufen wird.Token Builder.withMethod(method)
Rückflug
State
: Ein Objekt, das verwendet wird, um den Prozess zum Erstellen des Status-Tokens fortzusetzen.
new Trigger(functionName)
Startet den Prozess zum Erstellen eines installierbaren Triggers, der beim Auslösen eine bestimmte Funktion aufruft.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Prüfen Sie vor dem Erstellen eines Triggers, ob die zugehörige Funktion alle erforderlichen OAuth-Berechtigungen hat.
Parameter
Name | Typ | Beschreibung |
---|---|---|
function | String | Die Funktion, die aufgerufen werden soll, wenn der Trigger ausgelöst wird. Sie können Funktionen aus enthaltenen Bibliotheken wie Library.libFunction1 verwenden. |
Rückflug
Trigger
: Ein Objekt, das verwendet wird, um den Prozess zum Erstellen von Triggern fortzusetzen.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Prüft, ob der Nutzer die Einwilligung für alle vom Skript angeforderten Bereiche erteilt hat. Verwenden Sie diese Methode, wenn ein Ausführungsablauf von allen Bereichen abhängt, die von einem Skript angefordert werden. Wenn Einwilligungen fehlen, wird die aktuelle Ausführung mit dieser Methode beendet und eine Autorisierungsaufforderung gerendert, um die fehlenden Einwilligungen anzufordern.
Diese Methode funktioniert nur, wenn Nutzer das Skript über eine Oberfläche ausführen, die eine detaillierte Einwilligung unterstützt, z. B. in der Apps Script IDE. Wenn das Skript mit fehlenden Einwilligungen von einer nicht unterstützten Oberfläche wie einem Google Workspace-Add-on ausgeführt wird, wird zu Beginn der Ausführung eine Autorisierungsaufforderung gerendert, um alle Bereiche anzufordern.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den Skriptbereiche ausgewertet werden müssen. In fast allen Fällen sollte der Wert für auth Script sein, da für keinen anderen Autorisierungsmodus eine Autorisierung durch Nutzer erforderlich ist. |
require Scopes(authMode, oAuthScopes)
Prüft, ob der Nutzer die Einwilligung für die angeforderten Bereiche erteilt hat. Verwenden Sie diese Methode, wenn ein Ausführungsablauf von einem oder mehreren Diensten abhängt. Wenn eine der angegebenen Einwilligungen fehlt, wird die aktuelle Ausführung mit dieser Methode beendet und eine Autorisierungsaufforderung gerendert, um die fehlenden Einwilligungen anzufordern. Bereiche, die ungültig sind oder nicht vom Skript benötigt werden, führen zu einem Fehler.
Diese Methode funktioniert nur, wenn Nutzer das Skript über eine Oberfläche ausführen, die eine detaillierte Einwilligung unterstützt, z. B. in der Apps Script IDE. Wenn das Skript mit fehlenden Einwilligungen von einer nicht unterstützten Oberfläche wie einem Google Workspace-Add-on ausgeführt wird, wird zu Beginn der Ausführung eine Autorisierungsaufforderung gerendert, um alle Bereiche anzufordern.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den angeforderte Bereiche ausgewertet werden müssen. In fast allen Fällen sollte der Wert für auth Script sein, da für keinen anderen Autorisierungsmodus eine Autorisierung durch Nutzer erforderlich ist. |
oAuthScopes | String[] | Die OAuth-Bereiche, die zum Ausführen des angegebenen Ablaufs erforderlich sind. |