Class 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()

스크립트의 시간대를 가져옵니다. 새 스크립트는 기본적으로 소유자의 시간대로 설정되지만 스크립트 편집기에서 파일 > 프로젝트 속성을 클릭하여 스크립트의 시간대를 변경할 수 있습니다. 스프레드시트에는 별도의 시간대가 있으며, 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 - 임시 활성 사용자 키

지원 중단된 메서드