今、Googleアカウント hogehoge@gmail.com でログインしてスプレッドシートの編集等を
行なっているとする。このとき、ログインしているユーザー名 (=gmail アドレス) を取得する
には、次の手順で求めることができる。
① Session クラスの getActiveUser メソッドを用いて User オブジェクトを取得する。
② ①で取得した User オブジェクトの getEmail メソッド、または、getUserLoginId メソッドを
用いて、アカウントを取得する。
【構文1】
Session.getActiveUser()
戻り値 : User 型。ユーザー情報を返す。
【構文2】
UserObject.getEmail()
戻り値 : String 型。ユーザーのメールアドレスを返す。
【構文3】
UserObject.getUserLoginId()
戻り値 : String 型。ユーザーのログイン ID を返す。実は、メールアドレスと同じ値を返す。
【例】
function GetUser() {
var objUser = Session.getActiveUser();
Browser.msgBox(objUser.getEmail());
Browser.msgBox(Session.getActiveUser().getUserLoginId());
}
上記例では、一旦、User 型の変数に getActiveUser メソッドで返した値を格納した後、
メールアドレスを取得する方法と、一気に書き連ねる方法の二種類の記述方法を記載
した。但し、メッセージボックスに表示されるメールアドレスは同じ
hogehoge@gmail.com
である。
また、Session クラスの getActiveUser メソッドの他にユーザー情報を取得するものとして
getEffectiveUser メソッドというのもあるが、試した結果は getActiveUser メソッドと同一に
なった。Google のサイトを見てみると、getEffectiveUser メソッドは「スクリプトを実行して
いるユーザー」というようなことが書いてあったが、アクティブユーザーと何が違うのかは
不明である。
0 件のコメント:
コメントを投稿