Class Session

Sesi

Class Sesi memberikan akses ke informasi sesi, seperti alamat email pengguna (dalam beberapa situasi) dan setelan bahasa.

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
getActiveUser()UserMendapatkan informasi tentang pengguna saat ini.
getActiveUserLocale()StringMendapatkan setelan bahasa pengguna saat ini sebagai string—misalnya, en untuk bahasa Inggris.
getEffectiveUser()UserMendapatkan informasi tentang pengguna yang memiliki otoritas untuk menjalankan skrip.
getScriptTimeZone()StringMendapatkan zona waktu skrip.
getTemporaryActiveUserKey()StringMendapatkan kunci sementara yang unik untuk pengguna aktif, tetapi tidak mengungkapkan identitas pengguna.

Dokumentasi mendetail

getActiveUser()

Mendapatkan informasi tentang pengguna saat ini. Jika kebijakan keamanan tidak mengizinkan akses ke identitas pengguna, User.getEmail() akan menampilkan string kosong. Situasi 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 "dijalankan sebagai saya" (yaitu, diotorisasi oleh developer, bukan pengguna). Namun, batasan ini umumnya tidak berlaku jika developer menjalankan skrip itu sendiri atau berada di 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);

Nilai yang ditampilkan

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());

Nilai yang ditampilkan

String — string yang mewakili setelan bahasa pengguna


getEffectiveUser()

Mendapatkan informasi tentang pengguna yang memiliki otoritas untuk menjalankan skrip. Jika skrip adalah aplikasi web yang ditetapkan untuk "dijalankan sebagai saya" (developer), metode ini akan menampilkan akun pengguna developer. Jika skrip berjalan di bawah pemicu yang dapat diinstal, metode ini akan menampilkan akun pengguna yang membuat pemicu. Dalam sebagian besar skenario lainnya, metode 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);

Nilai yang ditampilkan

User — pengguna yang memiliki otoritas untuk 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);

Nilai yang ditampilkan

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 unik untuk skrip.

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

Nilai yang ditampilkan

String — kunci pengguna aktif sementara

Metode yang tidak digunakan lagi