Class Session

סשן

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

שיטות

שיטהסוג הערך שמוחזרתיאור קצר
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.
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()

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

הפונקציה מקבלת את אזור הזמן של הסקריפט. בסקריפטים חדשים, ברירת המחדל היא אזור הזמן של הבעלים, אבל אפשר לשנות את אזור הזמן של הסקריפט בלחיצה על File > Project properties (קובץ > מאפייני הפרויקט) בעורך הסקריפטים. שימו לב שלגיליונות האלקטרוניים יש אזור זמן נפרד. ניתן לשנות את אזור הזמן הזה באמצעות לחיצה על קובץ > הגדרות גיליון אלקטרוני ב-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 - מפתח המשתמש הפעיל הזמני

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