Class Session

Phiên hoạt động

Lớp Phiên cung cấp quyền truy cập vào thông tin phiên, chẳng hạn như địa chỉ email của người dùng (trong một số trường hợp) và cài đặt ngôn ngữ.

Phương pháp

Phương thứcLoại dữ liệu trả vềMô tả ngắn
getActiveUser()UserLấy thông tin về người dùng hiện tại.
getActiveUserLocale()StringNhận chế độ cài đặt ngôn ngữ của người dùng hiện tại dưới dạng một chuỗi—ví dụ: en cho tiếng Anh.
getEffectiveUser()UserLấy thông tin về người dùng thuộc thẩm quyền của tập lệnh đang chạy.
getScriptTimeZone()StringLấy múi giờ của tập lệnh.
getTemporaryActiveUserKey()StringLấy khoá tạm thời dành riêng cho người dùng đang hoạt động nhưng không tiết lộ danh tính người dùng.

Tài liệu chi tiết

getActiveUser()

Lấy thông tin về người dùng hiện tại. Nếu chính sách bảo mật không cho phép truy cập vào danh tính của người dùng, User.getEmail() sẽ trả về một chuỗi trống. Các trường hợp mà địa chỉ email có sẵn khác nhau: ví dụ: địa chỉ email của người dùng không có sẵn trong bất kỳ ngữ cảnh nào cho phép tập lệnh chạy mà không có sự cho phép của người dùng, như trình kích hoạt onOpen(e) hoặc onEdit(e) đơn giản, hàm tùy chỉnh trong Google Trang tính hoặc ứng dụng web được nhà phát triển triển khai "là người dùng thay vì tôi; (được người dùng ủy quyền thay vì người dùng). Tuy nhiên, các hạn chế này thường không áp dụng nếu nhà phát triển tự chạy tập lệnh hoặc thuộc cùng một miền Google Workspace với người dùng.

// Log the email address of the person running the script.
var email = Session.getActiveUser().getEmail();
Logger.log(email);

Hai chiều

User – người dùng hiện tại

Ủy quyền

Các tập lệnh sử dụng phương pháp này yêu cầu uỷ quyền bằng một hoặc nhiều phạm vi sau:

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

getActiveUserLocale()

Nhận chế độ cài đặt ngôn ngữ của người dùng hiện tại dưới dạng một chuỗi—ví dụ: en cho tiếng Anh.

// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());

Hai chiều

String – một chuỗi đại diện cho chế độ cài đặt ngôn ngữ của người dùng


getEffectiveUser()

Lấy thông tin về người dùng thuộc thẩm quyền của tập lệnh đang chạy. Nếu tập lệnh là một ứng dụng web được đặt thành "execute as me" (nhà phát triển), thì tập lệnh này sẽ trả về tài khoản người dùng dành cho nhà phát triển. Nếu tập lệnh đang chạy trong một trình kích hoạt có thể cài đặt, thì tập lệnh này sẽ trả về tài khoản của người dùng đã tạo trình kích hoạt. Trong hầu hết các trường hợp khác, phương thức này trả về cùng một tài khoản như getActiveUser().

// Log the email address of the user under whose authority the script is running.
var email = Session.getEffectiveUser().getEmail();
Logger.log(email);

Hai chiều

User – người dùng có thẩm quyền mà tập lệnh đang chạy

Ủy quyền

Các tập lệnh sử dụng phương pháp này yêu cầu uỷ quyền bằng một hoặc nhiều phạm vi sau:

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

getScriptTimeZone()

Lấy múi giờ của tập lệnh. Các tập lệnh mới được đặt theo múi giờ của chủ sở hữu theo mặc định. Tuy nhiên, bạn có thể thay đổi múi giờ của tập lệnh bằng cách nhấp vào Tệp & gt; Thuộc tính của dự án trong trình chỉnh sửa tập lệnh. Lưu ý rằng bảng tính có múi giờ riêng. Bạn có thể thay đổi múi giờ bằng cách nhấp vào Tệp > Cài đặt bảng tính trong Google Trang tính. Múi giờ của bảng tính khác với múi giờ tập lệnh là nguồn thường gặp của các lỗi tập lệnh.

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

Hai chiều

String — múi giờ của tập lệnh


getTemporaryActiveUserKey()

Lấy khoá tạm thời dành riêng cho người dùng đang hoạt động nhưng không tiết lộ danh tính người dùng. Khoá tạm thời này xoay vòng 30 ngày một lần và là duy nhất đối với tập lệnh.

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

Hai chiều

String — khoá người dùng đang hoạt động tạm thời

Các phương thức ngừng hoạt động