Class 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()

تحصل على معلومات عن المستخدم الذي يتم بموجبه تشغيل النص البرمجي. إذا كان النص البرمجي هو تطبيق ويب تم ضبطه على &";;;;;;;;6 بمقولة:": (مطوّر البرامج)، يؤدي ذلك إلى عرض حساب المستخدم لمطوّر البرامج. إذا كان النص البرمجي قيد التشغيل ضمن مشغّل قابل للتثبيت، يؤدي ذلك إلى عرض حساب المستخدم الذي أنشأ عامل التشغيل. في معظم السيناريوهات الأخرى، يؤدي هذا الإجراء إلى عرض الحساب نفسه الذي يحمل القيمة 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 > خصائص المشروع في محرِّر النصوص البرمجية. تجدر الإشارة إلى أن جداول البيانات لها منطقة زمنية منفصلة يمكن تغييرها من خلال النقر على ملف &gt؛ إعدادات جدول بيانات في "جداول بيانات Google". تُعد المناطق الزمنية لجداول البيانات التي تختلف عن المنطقة الزمنية للنص البرمجي مصدرًا متكررًا لأخطاء النصوص البرمجية.

// 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 — مفتاح المستخدم النشط المؤقت

الطرق التي تم إيقافها نهائيًا