Class Session
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Phiên
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à chế độ cài đặt ngôn ngữ.
Các phương thức ngừng hoạt động
Phương thức | Loại dữ liệu trả về | Mô tả ngắn |
getTimeZone()
| String | Lấy múi giờ của tập lệnh. |
getUser()
| User | Lấy thông tin về người dùng hiện tại. |
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, thì User.getEmail()
sẽ trả về một chuỗi trống. Các trường hợp có thể sử dụng địa chỉ email sẽ khác nhau: ví dụ: địa chỉ email của người dùng không có trong bất kỳ ngữ cảnh nào cho phép tập lệnh chạy mà không cần người dùng đó cho phép, chẳng hạn như trình kích hoạt onOpen(e)
hoặc onEdit(e)
đơn giản, hàm tuỳ chỉnh trong Google Trang tính hoặc ứng dụng web được triển khai để "thực thi dưới dạng tôi" (tức là được nhà phát triển cho phép thay vì người dùng).
Tuy nhiên, các quy định 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.
const email = Session.getActiveUser().getEmail();
Logger.log(email);
Cầu thủ trả bóng
User
– người dùng hiện tại
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Lấy 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());
Cầu thủ trả bóng
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 có thẩm quyền chạy tập lệnh. Nếu tập lệnh là một ứng dụng web được đặt thành "thực thi dưới dạng tôi" (nhà phát triển), thì thao tác này sẽ trả về tài khoản người dùng của 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ì thao tác 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 sẽ trả về cùng một tài khoản với getActiveUser()
.
// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);
Cầu thủ trả bóng
User
– người dùng có thẩm quyền chạy tập lệnh
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với 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 mặc định theo múi giờ của chủ sở hữu, nhưng bạn có thể thay đổi múi giờ của tập lệnh bằng cách nhấp vào File > Project properties (Tệp > Thuộc tính dự án) trong trình chỉnh sửa tập lệnh. Xin lưu ý rằng bảng tính có một múi giờ riêng biệt. Bạn có thể thay đổi múi giờ này 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ờ của tập lệnh là nguồn thường xuyên gây ra lỗi tập lệnh.
// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);
Cầu thủ trả bóng
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 của người dùng.
Khoá tạm thời sẽ xoay vòng mỗi 30 ngày và là khoá duy nhất cho tập lệnh.
// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());
Cầu thủ trả bóng
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
getTimeZone()
Không dùng nữa. Hàm này không còn được dùng nữa và không nên được sử dụng trong các tập lệnh mới.
Lấy múi giờ của tập lệnh. Các tập lệnh mới mặc định theo múi giờ của chủ sở hữu, nhưng bạn có thể thay đổi múi giờ của tập lệnh bằng cách nhấp vào File > Project properties (Tệp > Thuộc tính dự án) trong trình chỉnh sửa tập lệnh. Xin lưu ý rằng bảng tính có một múi giờ riêng biệt. Bạn có thể thay đổi múi giờ này 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ờ của tập lệnh là nguồn thường xuyên gây ra lỗi tập lệnh.
// Log the time zone of the script.
const timeZone = Session.getTimeZone();
Logger.log(timeZone);
Cầu thủ trả bóng
String
– múi giờ của tập lệnh
getUser()
Không dùng nữa. Hàm này không còn được dùng nữa và không nên được sử dụng trong các tập lệnh mới.
Lấy thông tin về người dùng hiện tại.
Cầu thủ trả bóng
User
– người dùng hiện đã đăng nhập
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/userinfo.email
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eSession\u003c/code\u003e class in Apps Script allows you to access information about the current user and the script's environment, such as the user's locale and the script's time zone.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve information about the active user, effective user, script time zone, and a temporary active user key using methods like \u003ccode\u003egetActiveUser()\u003c/code\u003e, \u003ccode\u003egetEffectiveUser()\u003c/code\u003e, \u003ccode\u003egetScriptTimeZone()\u003c/code\u003e, and \u003ccode\u003egetTemporaryActiveUserKey()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSome methods like \u003ccode\u003egetTimeZone()\u003c/code\u003e and \u003ccode\u003egetUser()\u003c/code\u003e are deprecated and should be replaced with their updated counterparts such as \u003ccode\u003egetScriptTimeZone()\u003c/code\u003e and \u003ccode\u003egetActiveUser()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eWhile the user's email address can be accessed in certain circumstances using \u003ccode\u003egetActiveUser().getEmail()\u003c/code\u003e or \u003ccode\u003egetEffectiveUser().getEmail()\u003c/code\u003e, it may not be available if security policies restrict access or in contexts without explicit user authorization.\u003c/p\u003e\n"],["\u003cp\u003eAccessing user information may require specific authorization scopes, like \u003ccode\u003ehttps://www.googleapis.com/auth/userinfo.email\u003c/code\u003e, to be granted to the script.\u003c/p\u003e\n"]]],[],null,["# Class Session\n\nSession\n\nThe Session class provides access to session information, such as the user's email address (in\nsome circumstances) and language setting. \n\n### Methods\n\n| Method | Return type | Brief description |\n|-------------------------------------------------------------|------------------------------------------|-----------------------------------------------------------------------------------------------|\n| [getActiveUser()](#getActiveUser()) | [User](/apps-script/reference/base/user) | Gets information about the current user. |\n| [getActiveUserLocale()](#getActiveUserLocale()) | `String` | Gets the language setting of the current user as a string---for example, `en` for English. |\n| [getEffectiveUser()](#getEffectiveUser()) | [User](/apps-script/reference/base/user) | Gets information about the user under whose authority the script is running. |\n| [getScriptTimeZone()](#getScriptTimeZone()) | `String` | Gets the time zone of the script. |\n| [getTemporaryActiveUserKey()](#getTemporaryActiveUserKey()) | `String` | Gets a temporary key that is unique to the active user but does not reveal the user identity. |\n\n### Deprecated methods\n\n| Method | Return type | Brief description |\n|---------------------------------|------------------------------------------|------------------------------------------|\n| [getTimeZone()](#getTimeZone()) | `String` | Gets the time zone of the script. |\n| [getUser()](#getUser()) | [User](/apps-script/reference/base/user) | Gets information about the current user. |\n\nDetailed documentation\n----------------------\n\n### `get``Active``User()`\n\nGets information about the current user. If security policies do not allow access to the user's\nidentity, [User.getEmail()](/apps-script/reference/base/user#getEmail()) returns a blank string. The circumstances in which the\nemail address is available vary: for example, the user's email address is not available in any\ncontext that allows a script to run without that user's authorization, like a simple `on``Open(e)` or `on``Edit(e)` trigger, a custom function in Google Sheets, or a web app\ndeployed to \"execute as me\" (that is, authorized by the developer instead of the user).\nHowever, these restrictions generally do not apply if the developer runs the script themselves\nor belongs to the same Google Workspace domain as the user.\n\n```javascript\n// Log the email address of the person running the script.\nconst email = Session.getActiveUser().getEmail();\nLogger.log(email);\n```\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the current user\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`\n\n*** ** * ** ***\n\n### `get``Active``User``Locale()`\n\nGets the language setting of the current user as a string---for example, `en` for English.\n\n```javascript\n// Log the language setting of the person running the script.\nLogger.log(Session.getActiveUserLocale());\n```\n\n#### Return\n\n\n`String` --- a string that represents the user's language setting\n\n*** ** * ** ***\n\n### `get``Effective``User()`\n\nGets information about the user under whose authority the script is running. If the script is a\nweb app set to \"execute as me\" (the developer), this returns the developer's user account. If\nthe script is running under an [installable\ntrigger](/apps-script/understanding_triggers), this returns the account of the user who created the trigger. In most other\nscenarios, this returns the same account as [getActiveUser()](#getActiveUser()).\n\n```javascript\n// Log the email address of the user under whose authority the script is\n// running.\nconst email = Session.getEffectiveUser().getEmail();\nLogger.log(email);\n```\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the user under whose authority the script is running\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`\n\n*** ** * ** ***\n\n### `get``Script``Time``Zone()`\n\nGets the time zone of the script. New scripts default to the owner's time zone, but the\nscript's time zone can be changed by clicking **File \\\u003e Project properties** in the script\neditor. Note that spreadsheets have a separate time zone, which can be changed by clicking\n**File \\\u003e Spreadsheet settings** in Google Sheets. Spreadsheet time zones that differ from\nthe script time zone are a frequent source of scripting bugs.\n\n```javascript\n// Log the time zone of the script.\nconst timeZone = Session.getScriptTimeZone();\nLogger.log(timeZone);\n```\n\n#### Return\n\n\n`String` --- the time zone of the script\n\n*** ** * ** ***\n\n### `get``Temporary``Active``User``Key()`\n\nGets a temporary key that is unique to the active user but does not reveal the user identity.\nThe temporary key rotates every 30 days and is unique to the script.\n\n```javascript\n// Log the temporary key of the person running the script.\nLogger.log(Session.getTemporaryActiveUserKey());\n```\n\n#### Return\n\n\n`String` --- the temporary active user key\n\nDeprecated methods\n------------------\n\n### `get``Time``Zone()`\n\n\n**Deprecated.** This function is deprecated and should not be used in new scripts.\n\nGets the time zone of the script. New scripts default to the owner's time zone, but the\nscript's time zone can be changed by clicking **File \\\u003e Project properties** in the script\neditor. Note that spreadsheets have a separate time zone, which can be changed by clicking\n**File \\\u003e Spreadsheet settings** in Google Sheets. Spreadsheet time zones that differ from\nthe script time zone are a frequent source of scripting bugs.\n\n```javascript\n// Log the time zone of the script.\nconst timeZone = Session.getTimeZone();\nLogger.log(timeZone);\n```\n\n#### Return\n\n\n`String` --- the time zone of the script\n\n*** ** * ** ***\n\n### `get``User()`\n\n\n**Deprecated.** This function is deprecated and should not be used in new scripts.\n\nGets information about the current user.\n\n#### Return\n\n\n[User](/apps-script/reference/base/user) --- the currently signed in user\n\n#### Authorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/userinfo.email`"]]