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.
var 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.
var 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.
var 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: 임시 활성 사용자 키

지원 중단된 메서드