Class ScriptApp

ScriptApp

Skriptveröffentlichung und -trigger aufrufen und bearbeiten Mit dieser Klasse können Nutzer Scripts erstellen, löst aus und steuert die Veröffentlichung des Skripts als Dienst.

Attribute

AttributTypBeschreibung
AuthModeAuthModeEine Aufzählung, aus der hervorgeht, welche Kategorien autorisierter Dienste Apps Script ausführen kann durch eine ausgelöste Funktion ausgeführt werden.
AuthorizationStatusAuthorizationStatusEine Aufzählung, die den Autorisierungsstatus eines Skripts angibt.
EventTypeEventTypeEine Aufzählung, die den Typ des ausgelösten Ereignisses angibt.
InstallationSourceInstallationSourceEine Aufzählung, die angibt, wie das Skript für den Nutzer als Add-on installiert wurde.
TriggerSourceTriggerSourceEine Aufzählung, die die Quelle des Ereignisses angibt, durch das der Trigger ausgelöst wird.
WeekDayWeekdayEine Aufzählung, die die Wochentage darstellt.

Methoden

MethodeRückgabetypKurzbeschreibung
deleteTrigger(trigger)voidEntfernt den angegebenen Trigger, sodass er nicht mehr ausgeführt wird.
getAuthorizationInfo(authMode)AuthorizationInfoRuft ein Objekt ab, mit dem bestimmt wird, ob der Nutzer dieses Skript zur Verwendung eines oder und die URL für ein Dialogfeld für die Autorisierung angeben.
getIdentityToken()StringRuft ein OpenID Connect-Identitätstoken für die aktiver Nutzer, wenn der Geltungsbereich openid gewährt wurde.
getInstallationSource()InstallationSourceGibt einen Aufzählungswert zurück, der angibt, wie das Skript als Add-on für den Aktueller Nutzer (z. B. ob der Nutzer die App persönlich über den Chrome Web Store installiert hat) oder ob ein Domainadministrator den Browser für alle Nutzer installiert hat.
getOAuthToken()StringRuft den OAuth 2.0-Zugriff ab Token für den aktiven Nutzer.
getProjectTriggers()Trigger[]Ruft alle installierbaren Trigger ab, die mit dem aktuellen Projekt und dem aktuellen Nutzer verknüpft sind.
getScriptId()StringRuft die eindeutige ID des Skriptprojekts ab.
getService()ServiceRuft ein Objekt ab, mit dem die Veröffentlichung des Skripts als Web-App gesteuert wird.
getUserTriggers(document)Trigger[]Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Dokument für dieses Skript oder Add-on verfügbar.
getUserTriggers(form)Trigger[]Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Format für dieses Skript oder Add-on gehören .
getUserTriggers(spreadsheet)Trigger[]Ruft alle installierbaren Trigger ab, die diesem Nutzer in der angegebenen Tabelle für dieses Skript oder Add-on verfügbar.
invalidateAuth()voidDie Autorisierung, die der aktive Nutzer zum Ausführen des aktuellen Skripts hat, wird ungültig.
newStateToken()StateTokenBuilderErstellt einen Builder für ein Statustoken, das in einer Callback-API (wie einem OAuth-Ablauf) verwendet werden kann.
newTrigger(functionName)TriggerBuilderStartet das Erstellen eines installierbaren Triggers, der beim Auslösen eine bestimmte Funktion aufruft.

Detaillierte Dokumentation

deleteTrigger(trigger)

Entfernt den angegebenen Trigger, sodass er nicht mehr ausgeführt wird.

// Deletes all triggers in the current project.
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
  ScriptApp.deleteTrigger(triggers[i]);
}

Parameter

NameTypBeschreibung
triggerTriggerDer zu löschende Trigger.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.scriptapp

getAuthorizationInfo(authMode)

Ruft ein Objekt ab, mit dem bestimmt wird, ob der Nutzer dieses Skript zur Verwendung eines oder und die URL für ein Dialogfeld für die Autorisierung angeben. Ob das Skript veröffentlicht wurde als Add-on mit installierbaren Triggern verwenden, lassen sich diese Informationen wird verwendet, um den Zugriff auf Codeabschnitte zu steuern, für die den Nutzenden die erforderlichen Autorisierung. Alternativ kann der Nutzer vom Add-on aufgefordert werden, die URL für die Autorisierung zu öffnen. um das Problem zu beheben.

var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
status = authInfo.getAuthorizationStatus();
url = authInfo.getAuthorizationUrl();

Parameter

NameTypBeschreibung
authModeAuthModeden Autorisierungsmodus, für den Autorisierungsinformationen angefordert werden in In fast allen Fällen sollte der Wert für authMode ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) sein, da kein anderer Autorisierungsmodus erfordert, dass Nutzer die Autorisierung erteilen

Rückflug

AuthorizationInfo – ein Objekt, das Informationen zum Autorisierungsstatus des Nutzers liefern kann


getIdentityToken()

Ruft ein OpenID Connect-Identitätstoken für die aktiver Nutzer, wenn der Geltungsbereich openid gewährt wurde. Dieser Bereich ist nicht enthalten standardmäßig und müssen im Manifest als expliziten Bereich hinzugefügt werden -Datei, um sie anzufordern. Schließen 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.

Das zurückgegebene ID-Token ist ein codiertes JSON-Webtoken (JWT). muss er decodiert werden, um Informationen daraus zu extrahieren. Die folgenden Beispiele zeigen, wie die das Token und extrahieren Sie die Google-Profil-ID des aktiven Nutzers.

var idToken = ScriptApp.getIdentityToken();
var body = idToken.split('.')[1];
var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString();
var payload = JSON.parse(decoded);
var profileId = payload.sub;
Logger.log('Profile ID: ' + profileId);
Weitere Informationen finden Sie in der Dokumentation zu OpenID Connect. Dokumentation für die vollständige Liste der zurückgegebenen Felder (Ansprüche).

Rückflug

String: das Identitätstoken, falls verfügbar andernfalls null.


getInstallationSource()

Gibt einen Aufzählungswert zurück, der angibt, wie das Skript als Add-on für den Aktueller Nutzer (z. B. ob der Nutzer die App persönlich über den Chrome Web Store installiert hat) oder ob ein Domainadministrator den Browser für alle Nutzer installiert hat.

Rückflug

InstallationSource: Die Quelle der Installation.


getOAuthToken()

Ruft den OAuth 2.0-Zugriff ab Token für den aktiven Nutzer. Wenn die OAuth-Bereiche des Skripts zur Autorisierung ausreichen eine andere Google API verwenden, die normalerweise einen eigenen OAuth-Ablauf benötigt (z. B. Google Picker), können Skripts den Autorisierungsaufforderung verwenden, indem Sie stattdessen dieses Token übergeben. Das Token läuft nach einer bestimmten Zeit (a mindestens ein paar Minuten); sollten die Skripte mit Autorisierungsfehlern umgehen und diese Methode aufrufen, fordern Sie bei Bedarf ein neues Token an.

Das von dieser Methode zurückgegebene Token enthält nur Bereiche, die das Skript derzeit benötigt. Bereiche, die zuvor autorisiert waren, aber nicht mehr vom Skript verwendet werden, sind nicht enthalten in das zurückgegebene Token. Wenn zusätzliche OAuth-Bereiche erforderlich sind, die über das Skript selbst hinausgehen können im Skript angegeben werden, Manifestdatei.

Rückflug

String: Eine Stringdarstellung des OAuth 2.0-Tokens.


getProjectTriggers()

Ruft alle installierbaren Trigger ab, die mit dem aktuellen Projekt und dem aktuellen Nutzer verknüpft 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

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.scriptapp

getScriptId()

Ruft die eindeutige ID des Skriptprojekts ab. Dies ist die bevorzugte Methode zum Abrufen der eindeutigen ID. für das Skriptprojekt und nicht für getProjectKey(). Diese ID kann überall verwendet werden bei denen zuvor der Projektschlüssel angegeben wurde.

Rückflug

String: Die ID des Skriptprojekts.


getService()

Ruft ein Objekt ab, mit dem die Veröffentlichung des Skripts als Web-App gesteuert wird.

// Get the URL of the published web app.
var url = ScriptApp.getService().getUrl();

Rückflug

Service: Ein Objekt, mit dem die Veröffentlichung des Skripts als Web-App beobachtet und gesteuert wird.


getUserTriggers(document)

Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Dokument für dieses Skript oder Add-on verfügbar. Diese Methode kann nicht verwendet werden, um die Trigger zu sehen, die mit anderen Skripts verknüpft sind.

var doc = DocumentApp.getActiveDocument();
var triggers = ScriptApp.getUserTriggers(doc);
// Log the handler function for the first trigger in the array.
Logger.log(triggers[0].getHandlerFunction());

Parameter

NameTypBeschreibung
documentDocumentEine Google Docs-Datei, die installierbare Trigger enthalten kann.

Rückflug

Trigger[]: Ein Array von Triggern, die diesem Nutzer im jeweiligen Dokument gehören.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(form)

Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Format für dieses Skript oder Add-on gehören . Diese Methode kann nicht verwendet werden, um die Trigger zu sehen, die mit anderen Skripts verknüpft sind.

var form = FormApp.getActiveForm();
var triggers = ScriptApp.getUserTriggers(form);
// Log the trigger source for the first trigger in the array.
Logger.log(triggers[0].getTriggerSource());

Parameter

NameTypBeschreibung
formFormEine Google Formulare-Datei, die installierbare Trigger enthalten kann.

Rückflug

Trigger[]: Ein Array von Triggern, die diesem Nutzer im angegebenen Format gehören.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(spreadsheet)

Ruft alle installierbaren Trigger ab, die diesem Nutzer in der angegebenen Tabelle für dieses Skript oder Add-on verfügbar. Diese Methode kann nicht verwendet werden, um die Trigger zu sehen, die mit anderen Skripts verknüpft sind.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var triggers = ScriptApp.getUserTriggers(ss);
// Log the event type for the first trigger in the array.
Logger.log(triggers[0].getEventType());

Parameter

NameTypBeschreibung
spreadsheetSpreadsheetEine Google Tabellen-Datei, die installierbare Trigger enthalten kann.

Rückflug

Trigger[]: ein Array von Triggern, die diesem Nutzer in der angegebenen Tabelle gehören.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.scriptapp

invalidateAuth()

Die Autorisierung, die der aktive Nutzer zum Ausführen des aktuellen Skripts hat, wird ungültig. Verwendungszweck alle Berechtigungen für das aktuelle Skript ungültig machen. Dies ist besonders nützlich für Funktionen, als One-Shot-Autorisierung gekennzeichnet. Da Autorisierungsfunktionen mit einer einzigen Aufnahme nur als Aufruf des wenn Sie eine Aktion ausführen möchten, nachdem das Skript die Autorisierung eingeholt hat. Danach müssen Sie alle Autorisierungen widerrufen, die das Skript hatte, damit der Nutzer die Dialogfeld für die Autorisierung noch einmal.

ScriptApp.invalidateAuth();

Löst aus

Error – wenn die Entwertung fehlschlägt


newStateToken()

Erstellt einen Builder für ein Statustoken, das in einer Callback-API (wie 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.
  var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz';
  var urlSuffix = '/usercallback?state=';
  var stateToken = ScriptApp.newStateToken()
      .withMethod(callbackFunction)
      .withTimeout(120)
      .createToken();
  return scriptUrl + urlSuffix + stateToken;
}

In den meisten OAuth2-Abläufen wird das state-Token an den Autorisierungsendpunkt übergeben. direkt (nicht als Teil der Rückruf-URL) und der Autorisierungsendpunkt übergibt sie als Teil der Callback-URL sein.

Beispiel:

  • Das Skript leitet den Nutzer an die 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 obige Weiterleitung (zurück zu http://script.google.com/...) führt dazu, dass der Browser Anfrage an /usercallback, die die von StateTokenBuilder.withMethod(method) angegebene Methode aufruft.

Rückflug

StateTokenBuilder: Ein Objekt, mit dem die Statustokenerstellung fortgesetzt wird.


newTrigger(functionName)

Startet das 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();

Parameter

NameTypBeschreibung
functionNameStringDie Funktion, die aufgerufen werden soll, wenn der Trigger ausgelöst wird. Sie können Funktionen aus der enthaltene Bibliotheken, z. B. Library.libFunction1.

Rückflug

TriggerBuilder: Ein Objekt, mit dem der Triggererstellungsprozess fortgesetzt wird.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.scriptapp

Verworfene Methoden