Class Session

סשן

הכיתה 'סשן' נותנת גישה לפרטי הסשן, כמו כתובת האימייל של המשתמש (בשדה בנסיבות מסוימות) והגדרות השפה.

שיטות

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

מסמכי תיעוד מפורטים

getActiveUser()

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

מקבל מידע על המשתמש שהסקריפט פועל תחת סמכותו. אם הסקריפט אפליקציית האינטרנט שהוגדרה היא 'ביצוע as me' (המפתח), פעולה זו תחזיר את חשבון המשתמש של המפתח. אם המיקום הסקריפט פועל במסגרת טריגר, הפעולה הזו תחזיר את החשבון של המשתמש שיצר את הטריגר. ברוב המקרים תרחישים, הפונקציה מחזירה את אותו חשבון כמו 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()

הפונקציה מקבלת את אזור הזמן של הסקריפט. ברירת המחדל של סקריפטים חדשים היא אזור הזמן של הבעלים, אבל ניתן לשנות את אזור הזמן של הסקריפט על ידי לחיצה על קובץ > מאפייני פרויקט בסקריפט עם הרשאת עריכה. לתשומת ליבכם: בגיליונות אלקטרוניים יש אזור זמן נפרד, שאותו ניתן לשנות בלחיצה על קובץ > הגדרות הגיליון האלקטרוני ב-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 – מפתח המשתמש הפעיל הזמני

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