2012年5月1日火曜日

ログインユーザーを取得する

今、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 件のコメント:

コメントを投稿