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

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

الطرق المتوقّفة نهائيًا