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

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