Class Session
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Oturum
Oturum sınıfı, kullanıcının e-posta adresi (bazı durumlarda) ve dil ayarı gibi oturum bilgilerine erişim sağlar.
Kullanımdan kaldırılan yöntemler
Yöntem | Dönüş türü | Kısa açıklama |
getTimeZone()
| String | Komut dosyasının saat dilimini alır. |
getUser()
| User | Mevcut kullanıcı hakkında bilgi alır. |
Ayrıntılı dokümanlar
getActiveUser()
Mevcut kullanıcı hakkında bilgi alır. Güvenlik politikaları kullanıcının kimliğine erişime izin vermiyorsa User.getEmail()
boş bir dize döndürür. E-posta adresinin kullanılabildiği durumlar değişiklik gösterir: Örneğin, kullanıcının e-posta adresi, bir komut dosyasının ilgili kullanıcının yetkilendirmesi olmadan çalışmasına izin veren herhangi bir bağlamda kullanılamaz (ör. basit bir onOpen(e)
veya onEdit(e)
tetikleyici, Google E-Tablolar'daki özel bir işlev ya da "benim adıma çalıştır" (yani kullanıcı yerine geliştirici tarafından yetkilendirilmiş) olarak dağıtılan bir web uygulaması).
Ancak geliştirici komut dosyasını kendisi çalıştırırsa veya kullanıcıyla aynı Google Workspace alanına aitse bu kısıtlamalar genellikle geçerli olmaz.
// Log the email address of the person running the script.
const email = Session.getActiveUser().getEmail();
Logger.log(email);
Return
User
: Geçerli kullanıcı
Yetkilendirme
Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Mevcut kullanıcının dil ayarını dize olarak alır (ör. İngilizce için en
).
// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());
Return
String
: Kullanıcının dil ayarını temsil eden bir dize
getEffectiveUser()
Komut dosyasının yetkilendirdiği kullanıcı hakkında bilgi alır. Komut dosyası, "benim adıma çalıştır" (geliştirici) olarak ayarlanmış bir web uygulamasıysa geliştiricinin kullanıcı hesabını döndürür. Komut dosyası bir yüklenebilir tetikleyici altında çalışıyorsa tetikleyiciyi oluşturan kullanıcının hesabını döndürür. Diğer senaryoların çoğunda bu, getActiveUser()
ile aynı hesabı döndürür.
// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);
Return
User
: Komut dosyasının yetkilendirdiği kullanıcı
Yetkilendirme
Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Komut dosyasının saat dilimini alır. Yeni komut dosyaları varsayılan olarak sahibin saat dilimini kullanır ancak komut dosyasının saat dilimi, komut dosyası düzenleyicisinde Dosya > Proje özellikleri'ni tıklayarak değiştirilebilir. E-tabloların ayrı bir saat dilimi olduğunu ve bu saat dilimini Google E-Tablolar'da Dosya > E-tablo ayarları'nı tıklayarak değiştirebileceğinizi unutmayın. Komut dosyası saat diliminden farklı e-tablo saat dilimleri, komut dosyası hatalarının sık karşılaşılan bir nedenidir.
// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);
Return
String
: Komut dosyasının saat dilimi
getTemporaryActiveUserKey()
Etkin kullanıcıya özgü ancak kullanıcı kimliğini göstermeyen geçici bir anahtar alır.
Geçici anahtar 30 günde bir döndürülür ve komut dosyasına özgüdür.
// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());
Return
String
: Geçici etkin kullanıcı anahtarı
Kullanımdan kaldırılan yöntemler
getTimeZone()
Kullanımdan kaldırıldı. Bu işlevin desteği sonlandırılmıştır ve yeni komut dosyalarında kullanılmamalıdır.
Komut dosyasının saat dilimini alır. Yeni komut dosyaları varsayılan olarak sahibin saat dilimini kullanır ancak komut dosyasının saat dilimi, komut dosyası düzenleyicisinde Dosya > Proje özellikleri'ni tıklayarak değiştirilebilir. E-tabloların ayrı bir saat dilimi olduğunu ve bu saat dilimini Google E-Tablolar'da Dosya > E-tablo ayarları'nı tıklayarak değiştirebileceğinizi unutmayın. Komut dosyası saat diliminden farklı e-tablo saat dilimleri, komut dosyası hatalarının sık karşılaşılan bir nedenidir.
// Log the time zone of the script.
const timeZone = Session.getTimeZone();
Logger.log(timeZone);
Return
String
: Komut dosyasının saat dilimi
getUser()
Kullanımdan kaldırıldı. Bu işlevin desteği sonlandırılmıştır ve yeni komut dosyalarında kullanılmamalıdır.
Mevcut kullanıcı hakkında bilgi alır.
Return
User
: Şu anda oturum açmış olan kullanıcı
Yetkilendirme
Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:
-
https://www.googleapis.com/auth/userinfo.email
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[null,null,["Son güncelleme tarihi: 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`"]]