Session クラスは、ユーザーのメールアドレス、 言語設定によって異なります。
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
getActiveUser() | User | 現在のユーザーに関する情報を取得します。 |
getActiveUserLocale() | String | 現在のユーザーの言語設定を文字列として取得します。たとえば、英語の場合は en です。 |
getEffectiveUser() | User | スクリプトを実行している権限を持つユーザーに関する情報を取得します。 |
getScriptTimeZone() | String | スクリプトのタイムゾーンを取得します。 |
getTemporaryActiveUserKey() | String | アクティブ ユーザーに固有の、ユーザー ID を開示しない一時鍵を取得します。 |
詳細なドキュメント
getActiveUser()
現在のユーザーに関する情報を取得します。セキュリティ ポリシーでユーザーの IP アドレスや
User.getEmail()
は空白の文字列を返します。ケースに
メールアドレスが利用可能な場合、たとえば、そのユーザーのメールアドレスが
ユーザーの承認なしにスクリプトの実行を許可するコンテキスト(単純な onOpen(e)
または onEdit(e)
トリガー、Google スプレッドシートのカスタム関数、ウェブアプリなど)
「Execute as me」にデプロイ(つまり、ユーザーではなくデベロッパーが承認します)。
ただし、デベロッパーが独自にスクリプトを実行する場合は、通常これらの制限は適用されません。
ユーザーと同じ Google Workspace ドメインに属している必要があります。
// Log the email address of the person running the script. var email = Session.getActiveUser().getEmail(); Logger.log(email);
戻る
User
- 現在のユーザー
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
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()
スクリプトを実行している権限を持つユーザーに関する情報を取得します。スクリプトが
ウェブアプリが「Execute as me」に設定されている場合(デベロッパー)ユーザー アカウントが返されます。条件
スクリプトがインストール可能な環境下で実行されている
trigger を使用すると、トリガーを作成したユーザーのアカウントが返されます。その他のほとんどの
getActiveUser()
と同じアカウントが返されます。
// Log the email address of the user under whose authority the script is running. var email = Session.getEffectiveUser().getEmail(); Logger.log(email);
戻る
User
- スクリプトを実行しているユーザー
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/userinfo.email
getScriptTimeZone()
スクリプトのタイムゾーンを取得します。新しいスクリプトはデフォルトでオーナーのタイムゾーンに設定されますが、 スクリプトのタイムゾーンを変更するには、[ファイル] >スクリプトのプロジェクト プロパティ クリックします。スプレッドシートには個別のタイムゾーンがあります。タイムゾーンを変更するには、 [ファイル] >スプレッドシートの設定] をクリックします。スプレッドシートのタイムゾーンが スクリプトのタイムゾーンは、スクリプトのバグの原因になりやすいため、
// 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
- 一時的なアクティブ ユーザー鍵