Class Session

세션

Session 클래스는 사용자의 이메일 주소( 언어 설정을 변경할 수 있습니다.

메서드

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

자세한 문서

getActiveUser()

현재 사용자에 대한 정보를 가져옵니다. 보안 정책에서 사용자의 User.getEmail()는 빈 문자열을 반환합니다. 배포가 진행되는 사용할 수 있는 이메일 주소가 다를 수 있습니다. 예를 들어 사용자의 이메일 주소는 어떤 경우에도 간단한 onOpen(e) 또는 onEdit(e) 트리거, Google Sheets의 맞춤 함수, 웹 앱 등 사용자의 승인 없이 스크립트를 실행할 수 있는 컨텍스트 'Execute as me' 기능이며 즉, 사용자가 아닌 개발자가 승인해야 합니다. 그러나 일반적으로 개발자가 스크립트를 직접 실행하는 경우에는 이러한 제한이 적용되지 않습니다. 사용자와 동일한 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: 임시 활성 사용자 키

지원 중단된 메서드