Kelas Sesi menyediakan akses ke informasi sesi, seperti alamat email pengguna (di keadaan tertentu) dan pengaturan bahasa.
Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
---|---|---|
getActiveUser() | User | Mendapatkan informasi tentang pengguna saat ini. |
getActiveUserLocale() | String | Mendapatkan setelan bahasa pengguna saat ini sebagai string—misalnya, en untuk bahasa Inggris. |
getEffectiveUser() | User | Mendapatkan informasi tentang pengguna yang otoritasnya menjalankan skrip. |
getScriptTimeZone() | String | Mendapatkan zona waktu skrip. |
getTemporaryActiveUserKey() | String | Mendapatkan kunci sementara yang unik bagi pengguna aktif, tetapi tidak mengungkapkan identitas pengguna. |
Dokumentasi mendetail
getActiveUser()
Mendapatkan informasi tentang pengguna saat ini. Jika kebijakan keamanan tidak mengizinkan akses ke
identitas, User.getEmail()
menampilkan string kosong. Keadaan saat
alamat email tersedia bervariasi: misalnya, alamat email pengguna tidak tersedia di
konteks yang memungkinkan skrip berjalan tanpa otorisasi pengguna tersebut, seperti pemicu onOpen(e)
atau onEdit(e)
sederhana, fungsi khusus di Google Spreadsheet, atau aplikasi web
di-deploy untuk "dijalankan sebagai saya" (yaitu, diizinkan oleh developer, bukan pengguna).
Namun, pembatasan ini umumnya tidak berlaku jika developer menjalankan skrip sendiri
atau berada di domain Google Workspace yang sama dengan pengguna.
// Log the email address of the person running the script. var 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 otoritasnya menjalankan skrip. Jika skrip adalah
aplikasi web yang disetel ke "jalankan sebagai saya" (developer), tindakan ini akan menampilkan akun pengguna developer. Jika
skrip berjalan di bawah folder yang dapat diinstal
pemicu, tindakan ini akan menampilkan akun pengguna yang membuat pemicu. Di sebagian besar
skenario ini, langkah ini akan menampilkan akun yang sama dengan getActiveUser()
.
// Log the email address of the user under whose authority the script is running. var email = Session.getEffectiveUser().getEmail(); Logger.log(email);
Pulang pergi
User
— pengguna yang otoritasnya 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 ditetapkan secara default ke zona waktu pemilik, tetapi zona waktu skrip dapat diubah dengan mengklik File > Properti project dalam skrip . Perhatikan bahwa {i>spreadsheet<i} memiliki zona waktu terpisah, yang dapat diubah dengan mengklik File > Setelan spreadsheet di Google Spreadsheet. Zona waktu spreadsheet yang berbeda dengan zona waktu skrip sering menjadi sumber {i> bug<i} pembuatan skrip.
// Log the time zone of the script. var timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
Pulang pergi
String
— zona waktu skrip
getTemporaryActiveUserKey()
Mendapatkan kunci sementara yang unik bagi 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