Class Session

セッション

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 - 一時的なアクティブ ユーザー鍵

サポート終了のメソッド