Class Session

เซสชัน

Class เซสชันให้สิทธิ์เข้าถึงข้อมูลเซสชัน เช่น อีเมลของผู้ใช้ (ในบางกรณี) และการตั้งค่าภาษา

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
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 — ผู้ใช้ปัจจุบัน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 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.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

รีเทิร์น

User — ผู้ใช้ที่มีสิทธิ์เรียกใช้สคริปต์

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 — คีย์ผู้ใช้ที่ใช้งานอยู่ชั่วคราว

วิธีการที่เลิกใช้งาน