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