Class Session

סשן

בכיתה Session יש גישה למידע על הסשן, כמו כתובת האימייל של המשתמש (במקרים מסוימים) והגדרת השפה.

Methods

שיטהסוג הערך המוחזרתיאור קצר
getActiveUser()Userאחזור מידע על המשתמש הנוכחי.
getActiveUserLocale()Stringהפונקציה מקבלת את הגדרת השפה של המשתמש הנוכחי כמחרוזת – לדוגמה, en לאנגלית.
getEffectiveUser()Userהפונקציה מקבלת מידע על המשתמש שבסמכותו הסקריפט פועל.
getScriptTimeZone()Stringהפונקציה מקבלת את אזור הזמן של הסקריפט.
getTemporaryActiveUserKey()Stringמקבלים מפתח זמני שהוא ייחודי למשתמש הפעיל, אבל לא חושף את זהות המשתמש.

מסמכים מפורטים

getActiveUser()

אחזור מידע על המשתמש הנוכחי. אם מדיניות האבטחה לא מאפשרת גישה לזהות של המשתמש, הפונקציה User.getEmail() מחזירה מחרוזת ריקה. נסיבות הזמינות של כתובת האימייל משתנות: לדוגמה, כתובת האימייל של המשתמש לא זמינה בכל הקשר שמאפשר להריץ סקריפט בלי הרשאה מהמשתמש הזה, כמו טריגר פשוט של onOpen(e) או onEdit(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

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.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

חזרה

User – המשתמש שבסמכותו פועל הסקריפט

אישור

סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:

  • https://www.googleapis.com/auth/userinfo.email

getScriptTimeZone()

הפונקציה מקבלת את אזור הזמן של הסקריפט. כברירת מחדל, אזור הזמן של התסריטים החדשים הוא אזור הזמן של הבעלים, אבל אפשר לשנות את אזור הזמן של התסריט בלחיצה על קובץ > מאפייני פרויקט בעורך התסריט. חשוב לזכור שלגיליון אלקטרוני יש אזור זמן נפרד. אפשר לשנות אותו בלחיצה על קובץ > הגדרות גיליון אלקטרוני ב-Google Sheets. אזורי זמן של גיליונות אלקטרוניים ששונים מאזור הזמן של הסקריפט הם מקור נפוץ לבאגים בסקריפטים.

// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);

חזרה

String – אזור הזמן של הסקריפט


getTemporaryActiveUserKey()

מקבלים מפתח זמני שהוא ייחודי למשתמש הפעיל, אבל לא חושף את זהות המשתמש. המפתח הזמני עובר רוטציה כל 30 יום והוא ייחודי לתסריט.

// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());

חזרה

String – מפתח המשתמש הפעיל הזמני

שיטות שהוצאו משימוש