Class Session
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
جلسه کلاس Session دسترسی به اطلاعات جلسه، مانند آدرس ایمیل کاربر (در برخی شرایط) و تنظیمات زبان را فراهم می کند.
مستندات دقیق
get Active User()
اطلاعات کاربر فعلی را دریافت می کند. اگر سیاست های امنیتی اجازه دسترسی به هویت کاربر را نمی دهد، User.getEmail()
یک رشته خالی برمی گرداند. شرایطی که در آن آدرس ایمیل در دسترس است متفاوت است: برای مثال، آدرس ایمیل کاربر در هیچ زمینهای که اجازه میدهد یک اسکریپت بدون مجوز آن کاربر اجرا شود، مانند یک راهانداز ساده on Open(e)
یا on Edit(e)
در دسترس نیست. ، یک تابع سفارشی در Google Sheets یا یک برنامه وب استقرار یافته برای "اجرا به عنوان من" (یعنی توسط توسعه دهنده به جای کاربر مجاز شده است). با این حال، اگر توسعهدهنده خود اسکریپت را اجرا کند یا به همان دامنه Google Workspace با کاربر تعلق داشته باشد، این محدودیتها معمولا اعمال نمیشوند.
// Log the email address of the person running the script.
const email = Session.getActiveUser().getEmail();
Logger.log(email);
بازگشت
User
- کاربر فعلی
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/userinfo.email
get Active User Locale()
تنظیمات زبان کاربر فعلی را به عنوان یک رشته دریافت می کند - به عنوان مثال، en
برای انگلیسی.
// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());
بازگشت
String
- رشته ای که تنظیم زبان کاربر را نشان می دهد
get Effective User()
اطلاعاتی در مورد کاربری که اسکریپت تحت اختیار او اجرا می شود را دریافت می کند. اگر اسکریپت یک برنامه وب باشد که روی «اجرا بهعنوان من» (توسعهدهنده) تنظیم شده است، حساب کاربری توسعهدهنده را برمیگرداند. اگر اسکریپت تحت یک تریگر قابل نصب اجرا شود، حساب کاربری که تریگر را ایجاد کرده است را برمی گرداند. در اکثر سناریوهای دیگر، این همان حساب کاربری get Active User()
برمی گرداند.
// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);
بازگشت
User
- کاربری که اسکریپت تحت اختیار او اجرا می شود
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/userinfo.email
get Script Time Zone()
منطقه زمانی اسکریپت را دریافت می کند. اسکریپتهای جدید بهطور پیشفرض منطقه زمانی مالک را انتخاب میکنند، اما منطقه زمانی اسکریپت را میتوان با کلیک کردن روی فایل > ویژگیهای پروژه در ویرایشگر اسکریپت تغییر داد. توجه داشته باشید که صفحهگستردهها منطقه زمانی جداگانهای دارند که میتوانید با کلیک کردن روی File > تنظیمات صفحهگسترده در Google Sheets، آن را تغییر دهید. مناطق زمانی صفحهگسترده که با منطقه زمانی اسکریپت متفاوت است، منبع مکرر اشکالات برنامهنویسی هستند.
// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);
بازگشت
String
- منطقه زمانی اسکریپت
get Temporary Active User Key()
یک کلید موقت دریافت می کند که منحصر به کاربر فعال است اما هویت کاربر را آشکار نمی کند. کلید موقت هر 30 روز یکبار می چرخد و منحصر به اسکریپت است.
// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());
بازگشت
String
- کلید کاربر فعال موقت
روش های منسوخ شده
get Time Zone()
منسوخ شده است. این تابع منسوخ شده است و نباید در اسکریپت های جدید استفاده شود.
منطقه زمانی اسکریپت را دریافت می کند. اسکریپتهای جدید بهطور پیشفرض منطقه زمانی مالک را انتخاب میکنند، اما منطقه زمانی اسکریپت را میتوان با کلیک کردن روی فایل > ویژگیهای پروژه در ویرایشگر اسکریپت تغییر داد. توجه داشته باشید که صفحهگستردهها منطقه زمانی جداگانهای دارند که میتوانید با کلیک کردن روی File > تنظیمات صفحهگسترده در Google Sheets، آن را تغییر دهید. مناطق زمانی صفحهگسترده که با منطقه زمانی اسکریپت متفاوت است، منبع مکرر اشکالات برنامهنویسی هستند.
// Log the time zone of the script.
const timeZone = Session.getTimeZone();
Logger.log(timeZone);
بازگشت
String
- منطقه زمانی اسکریپت
get User()
منسوخ شده است. این تابع منسوخ شده است و نباید در اسکریپت های جدید استفاده شود.
اطلاعات کاربر فعلی را دریافت می کند.
بازگشت
User
- کاربری که در حال حاضر به سیستم وارد شده است
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/userinfo.email
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[[["\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`"]]