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