Class Session

جلسه

کلاس 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 - کلید کاربر فعال موقت

روش های منسوخ شده