คลาสเซสชันช่วยให้คุณเข้าถึงข้อมูลเซสชันได้ เช่น อีเมลของผู้ใช้ (ใน ในบางสถานการณ์) และการตั้งค่าภาษา
เมธอด
วิธีการ | ประเภทการแสดงผล | รายละเอียดแบบย่อ |
---|---|---|
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
— ผู้ใช้ปัจจุบัน
การให้สิทธิ์
สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
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
— ผู้ใช้ที่สคริปต์กำลังเรียกใช้อยู่ภายใต้อำนาจ
การให้สิทธิ์
สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
รับเขตเวลาของสคริปต์ สคริปต์ใหม่จะใช้เขตเวลาของเจ้าของตามค่าเริ่มต้น แต่ เขตเวลาของสคริปต์สามารถเปลี่ยนได้โดยคลิก ไฟล์ > พร็อพเพอร์ตี้ของโปรเจ็กต์ในสคริปต์ Editor โปรดทราบว่าสเปรดชีตมีเขตเวลาแยกต่างหาก ซึ่งสามารถเปลี่ยนแปลงได้โดยคลิก ไฟล์ > การตั้งค่าสเปรดชีตใน 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
— คีย์ผู้ใช้ที่ใช้งานอยู่ชั่วคราว