Klasa sesji zapewnia dostęp do informacji o sesji, takich jak adres e-mail użytkownika (w niektórych przypadkach) czy ustawienia języka.
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
getActiveUser() | User | Pobiera informacje o bieżącym użytkowniku. |
getActiveUserLocale() | String | Pobiera ustawienie języka bieżącego użytkownika w postaci ciągu znaków, np. en w przypadku języka angielskiego. |
getEffectiveUser() | User | Pobiera informacje o użytkowniku, z którego uprawnieniami działa skrypt. |
getScriptTimeZone() | String | Pobiera strefę czasową skryptu. |
getTemporaryActiveUserKey() | String | Pobiera klucz tymczasowy, który jest unikalny dla aktywnego użytkownika, ale nie ujawnia jego tożsamości. |
Szczegółowa dokumentacja
getActiveUser()
Pobiera informacje o bieżącym użytkowniku. Jeśli zasady zabezpieczeń nie zezwalają na dostęp do tożsamości użytkownika, User.getEmail()
zwraca pusty ciąg znaków. Okoliczności, w jakich jest dostępny ten adres e-mail, mogą być różne, np. adres e-mail użytkownika jest niedostępny w żadnym kontekście umożliwiającym uruchomienie skryptu bez autoryzacji użytkownika, takim jak prosty wyzwalacz onOpen(e)
lub onEdit(e)
, niestandardowa funkcja w Arkuszach Google czy aplikacja internetowa wdrożona w celu wykonania w Twoim imieniu (czyli autoryzowane przez dewelopera, a nie użytkownika).
Ograniczenia te zwykle nie obowiązują, jeśli deweloper samodzielnie uruchamia skrypt lub należy do tej samej domeny Google Workspace co użytkownik.
// Log the email address of the person running the script. var email = Session.getActiveUser().getEmail(); Logger.log(email);
Powroty
User
– bieżący użytkownik,
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/userinfo.email
getActiveUserLocale()
Pobiera ustawienie języka bieżącego użytkownika w postaci ciągu znaków, np. en
w przypadku języka angielskiego.
// Log the language setting of the person running the script. Logger.log(Session.getActiveUserLocale());
Powroty
String
– ciąg znaków reprezentujący ustawienie języka użytkownika,
getEffectiveUser()
Pobiera informacje o użytkowniku, z którego uprawnieniami działa skrypt. Jeśli skrypt jest aplikacją internetową z ustawieniem „Wykonaj jako ja” (deweloper), spowoduje wyświetlenie konta użytkownika dewelopera. Jeśli skrypt działa w ramach reguły możliwej do zainstalowania, zwracane jest konto użytkownika, który go utworzył. W większości innych scenariuszy zwraca to samo konto co getActiveUser()
.
// Log the email address of the user under whose authority the script is running. var email = Session.getEffectiveUser().getEmail(); Logger.log(email);
Powroty
User
– użytkownik, pod którego uprawnieniami działa skrypt.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Pobiera strefę czasową skryptu. Nowe skrypty domyślnie używają strefy czasowej właściciela, ale możesz zmienić strefę czasową skryptu, klikając w edytorze skryptów Plik > Właściwości projektu. Pamiętaj, że arkusze kalkulacyjne mają oddzielną strefę czasową, którą możesz zmienić, klikając w Arkuszach Google Plik > Ustawienia arkusza kalkulacyjnego. Strefy czasowe w arkuszach kalkulacyjnych różniące się od strefy czasowej skryptu są częstym źródłem błędów skryptów.
// Log the time zone of the script. var timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
Powroty
String
– strefa czasowa skryptu;
getTemporaryActiveUserKey()
Pobiera klucz tymczasowy, który jest unikalny dla aktywnego użytkownika, ale nie ujawnia jego tożsamości. Klucz tymczasowy jest rotowany co 30 dni i jest unikalny dla skryptu.
// Log the temporary key of the person running the script. Logger.log(Session.getTemporaryActiveUserKey());
Powroty
String
– tymczasowy aktywny klucz użytkownika.