Class Session

Sesja

Klasa Session zapewnia dostęp do informacji o sesji, takich jak adres e-mail użytkownika (w niektórych okolicznościach) i ustawienia języka.

Metody

MetodaZwracany typKrótki opis
getActiveUser()UserPobiera informacje o bieżącym użytkowniku.
getActiveUserLocale()StringPobiera ustawienie języka bieżącego użytkownika jako ciąg znaków – na przykład en w przypadku języka angielskiego.
getEffectiveUser()UserPobiera informacje o użytkowniku, na którego podstawie działa skrypt.
getScriptTimeZone()StringPobiera strefę czasową skryptu.
getTemporaryActiveUserKey()StringPobiera 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 bezpieczeństwa nie zezwalają na dostęp do tożsamości użytkownika, User.getEmail() zwraca pusty ciąg znaków. Adres e-mail użytkownika jest dostępny w różnych sytuacjach: na przykład nie jest dostępny w żadnym kontekście, który umożliwia uruchamianie skryptu bez autoryzacji użytkownika, np. w ramach prostego onOpen(e) lub onEdit(e), funkcji niestandardowej w Arkuszach Google lub aplikacji internetowej uruchamianej z opcją „Uruchom jako ja” (czyli autoryzowanej przez dewelopera zamiast przez użytkownika). Ograniczenia te 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, które korzystają 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 jako ciąg znaków – na przykład 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 tekstowy reprezentujący ustawienie języka użytkownika


getEffectiveUser()

Pobiera informacje o użytkowniku, na którego podstawie działa skrypt. Jeśli skrypt to aplikacja internetowa skonfigurowana na „wykonanie jako ja” (programista), zwraca konto użytkownika dewelopera. Jeśli skrypt jest uruchamiany w ramach instalowalnego wyzwalacza, zwraca konto użytkownika, który utworzył ten wyzwalacz. 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.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

Powrót

User – użytkownik, w którego imieniu działa skrypt

Autoryzacja

Skrypty, które korzystają 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 mają domyślnie ustawioną strefę czasową właściciela, ale możesz ją zmienić w edytorze skryptu, klikając Plik > Właściwości projektu. Pamiętaj, że arkusze kalkulacyjne mają osobną strefę czasową, którą możesz zmienić, klikając w Arkuszach Google Plik > Ustawienia arkusza. Strefy czasowe arkuszy różniące 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 klucz tymczasowy, który jest unikalny dla aktywnego użytkownika, ale nie ujawnia jego tożsamości. Klucz tymczasowy zmienia się co 30 dni i jest unikalny dla skryptu.

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

Powrót

String – tymczasowy klucz aktywnego użytkownika

Wycofane metody