کلاس Session دسترسی به اطلاعات جلسه، مانند آدرس ایمیل کاربر (در برخی شرایط) و تنظیمات زبان را فراهم می کند.
روش ها
روش | نوع برگشت | شرح مختصر |
---|---|---|
getActiveUser() | User | اطلاعات کاربر فعلی را دریافت می کند. |
getActiveUserLocale() | String | تنظیمات زبان کاربر فعلی را به عنوان یک رشته دریافت می کند - به عنوان مثال، en برای انگلیسی. |
getEffectiveUser() | User | اطلاعاتی در مورد کاربری که اسکریپت تحت اختیار او اجرا می شود را دریافت می کند. |
getScriptTimeZone() | String | منطقه زمانی اسکریپت را دریافت می کند. |
getTemporaryActiveUserKey() | String | یک کلید موقت دریافت می کند که منحصر به کاربر فعال است اما هویت کاربر را آشکار نمی کند. |
مستندات دقیق
getActiveUser()
اطلاعات کاربر فعلی را دریافت می کند. اگر سیاست های امنیتی اجازه دسترسی به هویت کاربر را نمی دهد، User.getEmail()
یک رشته خالی برمی گرداند. شرایطی که در آن آدرس ایمیل در دسترس است متفاوت است: برای مثال، آدرس ایمیل کاربر در هیچ زمینهای که اجازه میدهد یک اسکریپت بدون مجوز آن کاربر اجرا شود، مانند یک راهانداز ساده onOpen(e)
یا onEdit(e)
در دسترس نیست. عملکرد سفارشی در کاربرگنگار Google، یا یک برنامه وب که برای «اجرا بهعنوان من» (یعنی توسط توسعهدهنده بهجای کاربر مجاز است) مستقر شده است. با این حال، اگر توسعهدهنده خود اسکریپت را اجرا کند یا به همان دامنه Google Workspace با کاربر تعلق داشته باشد، این محدودیتها معمولا اعمال نمیشوند.
// Log the email address of the person running the script. var email = Session.getActiveUser().getEmail(); Logger.log(email);
بازگشت
User
- کاربر فعلی
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
تنظیمات زبان کاربر فعلی را به عنوان یک رشته دریافت می کند - به عنوان مثال، en
برای انگلیسی.
// Log the language setting of the person running the script. Logger.log(Session.getActiveUserLocale());
بازگشت
String
- رشته ای که تنظیم زبان کاربر را نشان می دهد
getEffectiveUser()
اطلاعاتی در مورد کاربری که اسکریپت تحت اختیار او اجرا می شود را دریافت می کند. اگر اسکریپت یک برنامه وب باشد که روی «اجرا بهعنوان من» (توسعهدهنده) تنظیم شده است، حساب کاربری توسعهدهنده را برمیگرداند. اگر اسکریپت تحت یک تریگر قابل نصب اجرا شود، حساب کاربری که تریگر را ایجاد کرده است را برمی گرداند. در اکثر سناریوهای دیگر، این همان حساب getActiveUser()
را برمی گرداند.
// Log the email address of the user under whose authority the script is running. var email = Session.getEffectiveUser().getEmail(); Logger.log(email);
بازگشت
User
- کاربری که اسکریپت تحت اختیار او اجرا می شود
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
منطقه زمانی اسکریپت را دریافت می کند. اسکریپتهای جدید بهطور پیشفرض منطقه زمانی مالک را انتخاب میکنند، اما منطقه زمانی اسکریپت را میتوان با کلیک کردن روی فایل > ویژگیهای پروژه در ویرایشگر اسکریپت تغییر داد. توجه داشته باشید که صفحهگستردهها منطقه زمانی جداگانهای دارند که میتوانید با کلیک کردن روی File > تنظیمات صفحهگسترده در Google Sheets، آن را تغییر دهید. مناطق زمانی صفحهگسترده که با منطقه زمانی اسکریپت متفاوت است، منبع مکرر اشکالات برنامهنویسی هستند.
// Log the time zone of the script. var timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
بازگشت
String
- منطقه زمانی اسکریپت
getTemporaryActiveUserKey()
یک کلید موقت دریافت می کند که منحصر به کاربر فعال است اما هویت کاربر را آشکار نمی کند. کلید موقت هر 30 روز یکبار می چرخد و منحصر به اسکریپت است.
// Log the temporary key of the person running the script. Logger.log(Session.getTemporaryActiveUserKey());
بازگشت
String
- کلید کاربر فعال موقت