Class Session
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Sesi
Class Session menyediakan akses ke informasi sesi, seperti alamat email pengguna (dalam
beberapa situasi) dan setelan bahasa.
Metode yang tidak digunakan lagi
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
getTimeZone()
| String | Mendapatkan zona waktu skrip. |
getUser()
| User | Mendapatkan informasi tentang pengguna saat ini. |
Dokumentasi mendetail
getActiveUser()
Mendapatkan informasi tentang pengguna saat ini. Jika kebijakan keamanan tidak mengizinkan akses ke identitas pengguna, User.getEmail()
akan menampilkan string kosong. Keadaan saat alamat email tersedia bervariasi: misalnya, alamat email pengguna tidak tersedia dalam konteks apa pun yang memungkinkan skrip berjalan tanpa otorisasi pengguna tersebut, seperti pemicu onOpen(e)
atau onEdit(e)
sederhana, fungsi kustom di Google Spreadsheet, atau aplikasi web yang di-deploy untuk "dieksekusi sebagai saya" (yaitu, diotorisasi oleh developer, bukan pengguna).
Namun, batasan ini umumnya tidak berlaku jika developer menjalankan skrip sendiri
atau termasuk dalam domain Google Workspace yang sama dengan pengguna.
// Log the email address of the person running the script.
const email = Session.getActiveUser().getEmail();
Logger.log(email);
Pulang pergi
User
— pengguna saat ini
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Mendapatkan setelan bahasa pengguna saat ini sebagai string—misalnya, en
untuk bahasa Inggris.
// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());
Pulang pergi
String
— string yang mewakili setelan bahasa pengguna
getEffectiveUser()
Mendapatkan informasi tentang pengguna yang menjalankan skrip. Jika skrip adalah
aplikasi web yang disetel ke "eksekusi sebagai saya" (developer), tindakan ini akan menampilkan akun pengguna developer. Jika
skrip berjalan di bawah pemicu
yang dapat diinstal, tindakan ini akan menampilkan akun pengguna yang membuat pemicu. Dalam sebagian besar skenario
lainnya, tindakan ini akan menampilkan akun yang sama dengan getActiveUser()
.
// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);
Pulang pergi
User
— pengguna yang menjalankan skrip
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Mendapatkan zona waktu skrip. Skrip baru secara default menggunakan zona waktu pemilik, tetapi zona waktu skrip dapat diubah dengan mengklik File > Project properties di editor skrip. Perhatikan bahwa spreadsheet memiliki zona waktu terpisah, yang dapat diubah dengan mengklik
File > Spreadsheet settings di Google Spreadsheet. Zona waktu spreadsheet yang berbeda dengan zona waktu skrip sering menjadi sumber bug skrip.
// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);
Pulang pergi
String
— zona waktu skrip
getTemporaryActiveUserKey()
Mendapatkan kunci sementara yang unik untuk pengguna aktif, tetapi tidak mengungkapkan identitas pengguna.
Kunci sementara dirotasi setiap 30 hari dan bersifat unik untuk skrip.
// Log the temporary key of the person running the script.
Logger.log(Session.getTemporaryActiveUserKey());
Pulang pergi
String
— kunci pengguna aktif sementara
Metode yang tidak digunakan lagi
getTimeZone()
Tidak digunakan lagi. Fungsi ini tidak digunakan lagi dan tidak boleh digunakan dalam skrip baru.
Mendapatkan zona waktu skrip. Skrip baru secara default menggunakan zona waktu pemilik, tetapi zona waktu skrip dapat diubah dengan mengklik File > Project properties di editor skrip. Perhatikan bahwa spreadsheet memiliki zona waktu terpisah, yang dapat diubah dengan mengklik
File > Spreadsheet settings di Google Spreadsheet. Zona waktu spreadsheet yang berbeda dengan zona waktu skrip sering menjadi sumber bug skrip.
// Log the time zone of the script.
const timeZone = Session.getTimeZone();
Logger.log(timeZone);
Pulang pergi
String
— zona waktu skrip
getUser()
Tidak digunakan lagi. Fungsi ini tidak digunakan lagi dan tidak boleh digunakan dalam skrip baru.
Mendapatkan informasi tentang pengguna saat ini.
Pulang pergi
User
— pengguna yang sedang login
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/userinfo.email
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 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`"]]