Klasa Session zapewnia dostęp do informacji o sesji, takich jak adres e-mail użytkownika (w niektórych przypadkach) i ustawienie języka.
Metody
| Metoda | Zwracany typ | Krótki opis |
|---|---|---|
get | User | Pobiera informacje o bieżącym użytkowniku. |
get | String | Pobiera ustawienie języka bieżącego użytkownika w postaci ciągu znaków, np. en w przypadku języka angielskiego. |
get | User | Pobiera informacje o użytkowniku, w imieniu którego działa skrypt. |
get | String | Pobiera strefę czasową skryptu. |
get | String | Pobiera tymczasowy klucz, 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 bezpieczeństwa nie zezwalają na dostęp do tożsamości użytkownika, User.getEmail() zwraca pusty ciąg znaków. Okoliczności, w których adres e-mail jest dostępny, są różne. Na przykład adres e-mail użytkownika nie jest dostępny w żadnym kontekście, który umożliwia uruchomienie skryptu bez autoryzacji użytkownika, np. w przypadku prostego wyzwalacza onOpen(e) lub onEdit(e), funkcji niestandardowej w Arkuszach Google czy aplikacji internetowej wdrożonej w trybie „wykonuj jako ja” (czyli autoryzowanej przez dewelopera, a nie przez użytkownika).
Te ograniczenia zwykle nie obowiązują jednak, jeśli deweloper sam uruchamia skrypt lub należy do tej samej domeny Google Workspace co użytkownik.
// Log the email address of the person running the script. const email = Session.getActiveUser().getEmail(); Logger.log(email);
Powrót
User – bieżący użytkownik
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego 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());
Powrót
String – ciąg znaków reprezentujący ustawienie języka użytkownika.
getEffectiveUser()
Pobiera informacje o użytkowniku, w imieniu którego działa skrypt. Jeśli skrypt jest aplikacją internetową ustawioną na „wykonaj jako ja” (deweloper), zwraca konto użytkownika dewelopera. Jeśli skrypt jest uruchamiany w ramach instalowanego wyzwalacza, zwraca konto użytkownika, który utworzył wyzwalacz. W większości innych przypadków zwraca to samo konto co getActiveUser().
// Log the email address of the user under whose authority the script is // running. const email = Session.getEffectiveUser().getEmail(); Logger.log(email);
Powrót
User – użytkownik, w imieniu którego działa skrypt.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
Pobiera strefę czasową skryptu. Nowe skrypty domyślnie korzystają ze strefy czasowej właściciela, ale można ją zmienić, klikając Plik > Właściwości projektu w edytorze skryptów. Pamiętaj, że arkusze kalkulacyjne mają osobną strefę czasową, którą możesz zmienić, klikając Plik > Ustawienia arkusza kalkulacyjnego w Arkuszach Google. Strefy czasowe arkusza kalkulacyjnego, które różnią się od strefy czasowej skryptu, są częstym źródłem błędów w skryptach.
// Log the time zone of the script. const timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);
Powrót
String – strefa czasowa skryptu.
getTemporaryActiveUserKey()
Pobiera tymczasowy klucz, który jest unikalny dla aktywnego użytkownika, ale nie ujawnia jego tożsamości. Klucz tymczasowy jest zmieniany co 30 dni i jest unikalny dla danego skryptu.
// Log the temporary key of the person running the script. Logger.log(Session.getTemporaryActiveUserKey());
Powrót
String – tymczasowy klucz aktywnego użytkownika.