Class Session

세션

Session 클래스는 사용자의 이메일 주소 (일부 경우) 및 언어 설정과 같은 세션 정보에 대한 액세스를 제공합니다.

메서드

메서드반환 유형간략한 설명
getActiveUser()User현재 사용자에 대한 정보를 가져옵니다.
getActiveUserLocale()String현재 사용자의 언어 설정을 문자열로 가져옵니다(예: 영어의 경우 en).
getEffectiveUser()User스크립트가 실행되는 사용자의 정보를 가져옵니다.
getScriptTimeZone()String스크립트의 시간대를 가져옵니다.
getTemporaryActiveUserKey()String활성 사용자에게 고유하지만 사용자 ID를 노출하지 않는 임시 키를 가져옵니다.

자세한 문서

getActiveUser()

현재 사용자에 대한 정보를 가져옵니다. 보안 정책에서 사용자 ID에 대한 액세스를 허용하지 않으면 User.getEmail()는 빈 문자열을 반환합니다. 이메일 주소를 사용할 수 있는 상황은 다양합니다. 예를 들어 간단한 onOpen(e) 또는 onEdit(e) 트리거, Google Sheets의 맞춤 함수, '나로 실행' (즉, 사용자 대신 개발자가 승인)하도록 배포된 웹 앱과 같이 사용자의 승인 없이 스크립트를 실행할 수 있는 컨텍스트에서는 사용자의 이메일 주소를 사용할 수 없습니다. 그러나 개발자가 직접 스크립트를 실행하거나 사용자와 동일한 Google Workspace 도메인에 속해 있는 경우에는 일반적으로 이러한 제한사항이 적용되지 않습니다.

// Log the email address of the person running the script.
const email = Session.getActiveUser().getEmail();
Logger.log(email);

리턴

User: 현재 사용자

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/userinfo.email

getActiveUserLocale()

현재 사용자의 언어 설정을 문자열로 가져옵니다(예: 영어의 경우 en).

// Log the language setting of the person running the script.
Logger.log(Session.getActiveUserLocale());

리턴

String: 사용자의 언어 설정을 나타내는 문자열입니다.


getEffectiveUser()

스크립트가 실행되는 사용자의 정보를 가져옵니다. 스크립트가 '나(개발자)로 실행'으로 설정된 웹 앱인 경우 개발자의 사용자 계정이 반환됩니다. 스크립트가 설치 가능한 트리거에서 실행 중인 경우 트리거를 만든 사용자의 계정이 반환됩니다. 대부분의 다른 시나리오에서는 getActiveUser()와 동일한 계정이 반환됩니다.

// Log the email address of the user under whose authority the script is
// running.
const email = Session.getEffectiveUser().getEmail();
Logger.log(email);

리턴

User: 스크립트가 실행되는 사용자의 권한

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/userinfo.email

getScriptTimeZone()

스크립트의 시간대를 가져옵니다. 새 스크립트는 기본적으로 소유자의 시간대를 사용하지만 스크립트 편집기에서 File > Project properties를 클릭하여 스크립트의 시간대를 변경할 수 있습니다. 스프레드시트에는 별도의 시간대가 있으며, Google Sheets에서 파일 > 스프레드시트 설정을 클릭하여 변경할 수 있습니다. 스크립트 시간대와 다른 스프레드시트 시간대는 스크립트 버그의 주요 원인입니다.

// Log the time zone of the script.
const timeZone = Session.getScriptTimeZone();
Logger.log(timeZone);

리턴

String: 스크립트의 시간대


getTemporaryActiveUserKey()

활성 사용자에게 고유하지만 사용자 ID를 노출하지 않는 임시 키를 가져옵니다. 임시 키는 30일마다 순환되며 스크립트에 고유합니다.

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

리턴

String: 임시 활성 사용자 키

지원 중단된 메서드