המחלק Session מספק גישה לפרטי הסשן, כמו כתובת האימייל של המשתמש (במקרים מסוימים) והגדרת השפה.
Methods
| שיטה | סוג הערך שמוחזר | תיאור קצר |
|---|---|---|
get | User | קבלת מידע על המשתמש הנוכחי. |
get | String | מחזירה את הגדרת השפה של המשתמש הנוכחי כמחרוזת – לדוגמה, en לאנגלית. |
get | User | מקבל מידע על המשתמש שהסקריפט פועל תחת הסמכות שלו. |
get | String | הפונקציה מחזירה את אזור הזמן של הסקריפט. |
get | 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 – המפתח הזמני של המשתמש הפעיל