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

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