Class Session
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sitzung
Die Session-Klasse bietet Zugriff auf Sitzungsinformationen wie die E-Mail-Adresse des Nutzers (unter bestimmten Umständen) und die Spracheinstellung.
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
getActiveUser() | User | Ruft Informationen zum aktuellen Nutzer ab. |
getActiveUserLocale() | String | Die Spracheinstellung des aktuellen Nutzers als String, z. B. en für Englisch. |
getEffectiveUser() | User | Ruft Informationen zum Nutzer ab, in dessen Autorisierungsbereich das Script ausgeführt wird. |
getScriptTimeZone() | String | Ruft die Zeitzone des Scripts ab. |
getTemporaryActiveUserKey() | String | Es wird ein temporärer Schlüssel abgerufen, der für den aktiven Nutzer eindeutig ist, aber die Identität des Nutzers nicht preisgibt. |
Eingestellte Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
getTimeZone()
| String | Ruft die Zeitzone des Scripts ab. |
getUser()
| User | Ruft Informationen zum aktuellen Nutzer ab. |
Detaillierte Dokumentation
getActiveUser()
Ruft Informationen zum aktuellen Nutzer ab. Wenn Sicherheitsrichtlinien den Zugriff auf die Identität des Nutzers nicht zulassen, gibt User.getEmail()
einen leeren String zurück. Die Verfügbarkeit der E-Mail-Adresse des Nutzers variiert: Beispielsweise ist die E-Mail-Adresse des Nutzers in keinem Kontext verfügbar, in dem ein Script ohne Autorisierung dieses Nutzers ausgeführt werden kann, z. B. bei einem einfachen onOpen(e)
- oder onEdit(e)
-Trigger, einer benutzerdefinierten Funktion in Google Tabellen oder einer Webanwendung, die mit der Option „Als mich ausführen“ bereitgestellt wurde (d. h. vom Entwickler statt vom Nutzer autorisiert).
Diese Einschränkungen gelten jedoch in der Regel nicht, wenn der Entwickler das Script selbst ausführt oder zur selben Google Workspace-Domain wie der Nutzer gehört.
// Log the email address of the person running the script.
const email = Session.getActiveUser().getEmail();
Logger.log(email);
Rückflug
User
– der aktuelle Nutzer
Autorisierung
Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Die Spracheinstellung des aktuellen Nutzers als String, z. B. en
für Englisch.
// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());
Rückflug
String
: ein String, der die Spracheinstellung des Nutzers darstellt
getEffectiveUser()
Ruft Informationen zum Nutzer ab, in dessen Autorisierungsbereich das Script ausgeführt wird. Wenn das Script eine Webanwendung ist, die auf „Als mich ausführen“ (der Entwickler) festgelegt ist, wird das Nutzerkonto des Entwicklers zurückgegeben. Wenn das Script unter einem installierbaren Trigger ausgeführt wird, wird das Konto des Nutzers zurückgegeben, der den Trigger erstellt hat. In den meisten anderen Fällen wird dasselbe Konto wie getActiveUser()
zurückgegeben.
// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);
Rückflug
User
: der Nutzer, in dessen Autorisierungsbereich das Script ausgeführt wird
Autorisierung
Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Ruft die Zeitzone des Scripts ab. Neue Scripts haben standardmäßig die Zeitzone des Eigentümers. Sie können die Zeitzone des Scripts jedoch ändern, indem Sie im Script-Editor auf Datei > Projekteigenschaften klicken. Tabellen haben eine separate Zeitzone, die Sie in Google Tabellen unter Datei > Tabelleneinstellungen ändern können. Zeitzonen in Tabellen, die sich von der Zeitzone des Scripts unterscheiden, sind eine häufige Ursache für Scriptfehler.
// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);
Rückflug
String
– die Zeitzone des Scripts
getTemporaryActiveUserKey()
Es wird ein temporärer Schlüssel abgerufen, der für den aktiven Nutzer eindeutig ist, aber die Identität des Nutzers nicht preisgibt.
Der temporäre Schlüssel wird alle 30 Tage rotiert und ist für das Script eindeutig.
// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());
Rückflug
String
– der temporäre Schlüssel des aktiven Nutzers
Eingestellte Methoden
getTimeZone()
Veraltet. Diese Funktion wurde eingestellt und sollte in neuen Scripts nicht verwendet werden.
Ruft die Zeitzone des Scripts ab. Neue Scripts haben standardmäßig die Zeitzone des Eigentümers. Sie können die Zeitzone des Scripts jedoch ändern, indem Sie im Script-Editor auf Datei > Projekteigenschaften klicken. Tabellen haben eine separate Zeitzone, die Sie in Google Tabellen unter Datei > Tabelleneinstellungen ändern können. Zeitzonen in Tabellen, die sich von der Zeitzone des Scripts unterscheiden, sind eine häufige Ursache für Scriptfehler.
// Log the time zone of the script.
const timeZone = Session.getTimeZone();
Logger.log(timeZone);
Rückflug
String
– die Zeitzone des Scripts
getUser()
Veraltet. Diese Funktion wurde eingestellt und sollte in neuen Scripts nicht verwendet werden.
Ruft Informationen zum aktuellen Nutzer ab.
Rückflug
User
: der aktuell angemeldete Nutzer
Autorisierung
Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:
-
https://www.googleapis.com/auth/userinfo.email
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-26 (UTC)."],[[["\u003cp\u003eThe \u003ccode\u003eSession\u003c/code\u003e class in Apps Script allows you to access information about the current user and the script's environment, such as the user's locale and the script's time zone.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve information about the active user, effective user, script time zone, and a temporary active user key using methods like \u003ccode\u003egetActiveUser()\u003c/code\u003e, \u003ccode\u003egetEffectiveUser()\u003c/code\u003e, \u003ccode\u003egetScriptTimeZone()\u003c/code\u003e, and \u003ccode\u003egetTemporaryActiveUserKey()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSome methods like \u003ccode\u003egetTimeZone()\u003c/code\u003e and \u003ccode\u003egetUser()\u003c/code\u003e are deprecated and should be replaced with their updated counterparts such as \u003ccode\u003egetScriptTimeZone()\u003c/code\u003e and \u003ccode\u003egetActiveUser()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eWhile the user's email address can be accessed in certain circumstances using \u003ccode\u003egetActiveUser().getEmail()\u003c/code\u003e or \u003ccode\u003egetEffectiveUser().getEmail()\u003c/code\u003e, it may not be available if security policies restrict access or in contexts without explicit user authorization.\u003c/p\u003e\n"],["\u003cp\u003eAccessing user information may require specific authorization scopes, like \u003ccode\u003ehttps://www.googleapis.com/auth/userinfo.email\u003c/code\u003e, to be granted to the script.\u003c/p\u003e\n"]]],[],null,["# Class Session\n\nSession\n\nThe Session class provides access to session information, such as the user's email address (in\nsome circumstances) and language setting. \n\n### Methods\n\n| Method | Return type | Brief description |\n|-------------------------------------------------------------|------------------------------------------|-----------------------------------------------------------------------------------------------|\n| [getActiveUser()](#getActiveUser()) | [User](/apps-script/reference/base/user) | Gets information about the current user. |\n| [getActiveUserLocale()](#getActiveUserLocale()) | `String` | Gets the language setting of the current user as a string---for example, `en` for English. |\n| [getEffectiveUser()](#getEffectiveUser()) | [User](/apps-script/reference/base/user) | Gets information about the user under whose authority the script is running. |\n| [getScriptTimeZone()](#getScriptTimeZone()) | `String` | Gets the time zone of the script. |\n| [getTemporaryActiveUserKey()](#getTemporaryActiveUserKey()) | `String` | Gets a temporary key that is unique to the active user but does not reveal the user identity. |\n\n### Deprecated methods\n\n| Method | Return type | Brief description |\n|---------------------------------|------------------------------------------|------------------------------------------|\n| [getTimeZone()](#getTimeZone()) | `String` | Gets the time zone of the script. |\n| [getUser()](#getUser()) | [User](/apps-script/reference/base/user) | Gets information about the current user. |\n\nDetailed documentation\n----------------------\n\n### `get``Active``User()`\n\nGets information about the current user. If security policies do not allow access to the user's\nidentity, [User.getEmail()](/apps-script/reference/base/user#getEmail()) returns a blank string. The circumstances in which the\nemail address is available vary: for example, the user's email address is not available in any\ncontext that allows a script to run without that user's authorization, like a simple `on``Open(e)` or `on``Edit(e)` trigger, a custom function in Google Sheets, or a web app\ndeployed to \"execute as me\" (that is, authorized by the developer instead of the user).\nHowever, these restrictions generally do not apply if the developer runs the script themselves\nor belongs to the same Google Workspace domain as the user.\n\n```javascript\n// Log the email address of the person running the script.\nconst email = Session.getActiveUser().getEmail();\nLogger.log(email);\n```\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the current user\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`\n\n*** ** * ** ***\n\n### `get``Active``User``Locale()`\n\nGets the language setting of the current user as a string---for example, `en` for English.\n\n```javascript\n// Log the language setting of the person running the script.\nLogger.log(Session.getActiveUserLocale());\n```\n\n#### Return\n\n\n`String` --- a string that represents the user's language setting\n\n*** ** * ** ***\n\n### `get``Effective``User()`\n\nGets information about the user under whose authority the script is running. If the script is a\nweb app set to \"execute as me\" (the developer), this returns the developer's user account. If\nthe script is running under an [installable\ntrigger](/apps-script/understanding_triggers), this returns the account of the user who created the trigger. In most other\nscenarios, this returns the same account as [getActiveUser()](#getActiveUser()).\n\n```javascript\n// Log the email address of the user under whose authority the script is\n// running.\nconst email = Session.getEffectiveUser().getEmail();\nLogger.log(email);\n```\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the user under whose authority the script is running\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`\n\n*** ** * ** ***\n\n### `get``Script``Time``Zone()`\n\nGets the time zone of the script. New scripts default to the owner's time zone, but the\nscript's time zone can be changed by clicking **File \\\u003e Project properties** in the script\neditor. Note that spreadsheets have a separate time zone, which can be changed by clicking\n**File \\\u003e Spreadsheet settings** in Google Sheets. Spreadsheet time zones that differ from\nthe script time zone are a frequent source of scripting bugs.\n\n```javascript\n// Log the time zone of the script.\nconst timeZone = Session.getScriptTimeZone();\nLogger.log(timeZone);\n```\n\n#### Return\n\n\n`String` --- the time zone of the script\n\n*** ** * ** ***\n\n### `get``Temporary``Active``User``Key()`\n\nGets a temporary key that is unique to the active user but does not reveal the user identity.\nThe temporary key rotates every 30 days and is unique to the script.\n\n```javascript\n// Log the temporary key of the person running the script.\nLogger.log(Session.getTemporaryActiveUserKey());\n```\n\n#### Return\n\n\n`String` --- the temporary active user key\n\nDeprecated methods\n------------------\n\n### `get``Time``Zone()`\n\n\n**Deprecated.** This function is deprecated and should not be used in new scripts.\n\nGets the time zone of the script. New scripts default to the owner's time zone, but the\nscript's time zone can be changed by clicking **File \\\u003e Project properties** in the script\neditor. Note that spreadsheets have a separate time zone, which can be changed by clicking\n**File \\\u003e Spreadsheet settings** in Google Sheets. Spreadsheet time zones that differ from\nthe script time zone are a frequent source of scripting bugs.\n\n```javascript\n// Log the time zone of the script.\nconst timeZone = Session.getTimeZone();\nLogger.log(timeZone);\n```\n\n#### Return\n\n\n`String` --- the time zone of the script\n\n*** ** * ** ***\n\n### `get``User()`\n\n\n**Deprecated.** This function is deprecated and should not be used in new scripts.\n\nGets information about the current user.\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the currently signed in user\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`"]]