Class Session

الجلسة

توفّر فئة 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.
const 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.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

الإرجاع

User: المستخدم الذي يتم تشغيل النص البرمجي بموجب سلطته

التفويض

تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:

  • https://www.googleapis.com/auth/userinfo.email

getScriptTimeZone()

تحصل على المنطقة الزمنية للنص البرمجي. يتم ضبط النصوص البرمجية الجديدة تلقائيًا على المنطقة الزمنية للمالك، ولكن يمكن تغيير المنطقة الزمنية للنصوص البرمجية بالنقر على الملف > خصائص المشروع في محرِّر النصوص البرمجية. يُرجى العِلم أنّ جداول البيانات لها منطقة زمنية منفصلة، ويمكن تغييرها من خلال النقر على ملف > إعدادات جدول البيانات في "جداول بيانات Google". إنّ المناطق الزمنية في جدول البيانات التي تختلف عن المنطقة الزمنية للنص البرمجي هي مصدر شائع لأخطاء النصوص البرمجية.

// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);

الإرجاع

String: المنطقة الزمنية للنص البرمجي


getTemporaryActiveUserKey()

الحصول على مفتاح مؤقت فريد للمستخدم النشط ولكن لا يكشف هوية المستخدم يتم تغيير المفتاح المؤقت كل 30 يومًا، وهو فريد للنص البرمجي.

// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());

الإرجاع

String: مفتاح المستخدم النشط المؤقت

الطرق المتوقّفة