Oturum sınıfı, kullanıcının e-posta adresi (bazı durumlarda) ve dil ayarı gibi oturum bilgilerine erişim sağlar.
Yöntemler
Yöntem | Dönüş türü | Kısa açıklama |
---|---|---|
getActiveUser() | User | Geçerli kullanıcı hakkında bilgi alır. |
getActiveUserLocale() | String | Geçerli kullanıcının dil ayarını dize olarak alır (örneğin, İngilizce için en ). |
getEffectiveUser() | User | Komut dosyasının yetkisi altında çalıştığı kullanıcı hakkında bilgi alır. |
getScriptTimeZone() | String | Komut dosyasının saat dilimini alır. |
getTemporaryActiveUserKey() | String | Etkin kullanıcıya özel geçici bir anahtar alır ancak kullanıcı kimliğini açıklamaz. |
Ayrıntılı belgeler
getActiveUser()
Geçerli kullanıcı hakkında bilgi alır. Güvenlik politikaları kullanıcının kimliğine erişime izin vermiyorsa User.getEmail()
boş bir dize döndürür. E-posta adresinin kullanılabilir olduğu durumlar değişiklik gösterir: Örneğin, kullanıcının e-posta adresi, bir komut dosyasının kullanıcının izni olmadan çalışmasına izin veren herhangi bir bağlamda mevcut değildir. Örneğin, basit bir onOpen(e)
veya onEdit(e)
tetikleyicisi, Google E-Tablolar'daki özel bir işlev ya da "benim gibi çalıştırmak" üzere dağıtılan bir web uygulaması (kullanıcı yerine geliştirici tarafından yetkilendirilir).
Ancak bu kısıtlamalar genellikle geliştirici komut dosyasını çalıştırıyorsa veya kullanıcıyla aynı Google Workspace alanına aitse geçerli olmaz.
// Log the email address of the person running the script. var email = Session.getActiveUser().getEmail(); Logger.log(email);
Return
User
— geçerli kullanıcı
Yetkilendirme
Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Geçerli kullanıcının dil ayarını dize olarak alır (örneğin, İngilizce için en
).
// Log the language setting of the person running the script. Logger.log(Session.getActiveUserLocale());
Return
String
: Kullanıcının dil ayarını temsil eden bir dize
getEffectiveUser()
Komut dosyasının yetkisi altında çalıştığı kullanıcı hakkında bilgi alır. Komut dosyası, "benim gibi çalıştır" (geliştirici) değerine ayarlanmış bir web uygulamasıysa geliştiricinin kullanıcı hesabını döndürür. Komut dosyası yüklenebilir bir tetikleyici altında çalışıyorsa tetikleyiciyi oluşturan kullanıcının hesabını döndürür. Diğer birçok senaryoda bu, getActiveUser()
ile aynı hesabı döndürür.
// Log the email address of the user under whose authority the script is running. var email = Session.getEffectiveUser().getEmail(); Logger.log(email);
Return
User
— komut dosyasının yetkisi altında çalıştığı kullanıcı
Yetkilendirme
Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Komut dosyasının saat dilimini alır. Yeni komut dosyaları varsayılan olarak sahibin saat dilimini kullanır. Ancak komut dosyasının saat dilimi, komut dosyası düzenleyicide Dosya > Proje özellikleri tıklanarak değiştirilebilir. E-tabloların ayrı bir saat dilimi olduğunu unutmayın. Bunu Google E-Tablolar'da Dosya > E-tablo ayarları'nı tıklayarak değiştirebilirsiniz. Komut dosyası saat diliminden farklı olan e-tablo saat dilimleri, komut dosyası oluşturma hatalarının sık karşılaşılan bir kaynağıdır.
// Log the time zone of the script. var timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
Return
String
: Komut dosyasının saat dilimi
getTemporaryActiveUserKey()
Etkin kullanıcıya özel geçici bir anahtar alır ancak kullanıcı kimliğini açıklamaz. Geçici anahtar, 30 günde bir döner ve komut dosyasına özgüdür.
// Log the temporary key of the person running the script. Logger.log(Session.getTemporaryActiveUserKey());
Return
String
- geçici etkin kullanıcı anahtarı