[GAS]スクリプト実行ユーザーのアカウント情報を取得するには: 逆引きGoogle Apps Script

2012 年 3 月 23 日 金曜日

▼サンプルスクリプト

スプレッドシートにアクセスするたびに、アクセスしたユーザーのメールアドレスをスプレッドシートに出力するサンプル。

1
2
3
4
5
function onOpen(){
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange('A'+(sheet.getLastRow()+1)).
    setValue(Session.getActiveUser().getEmail());
}

画面にアクセスしたユーザーのログインIdを取得してラベルのキャプションとして表示するサンプル。

1
2
3
4
5
6
7
function doGet(){
  var app = UiApp.createApplication();
  app.add(app.createLabel(
    Session.getActiveUser().getUserLoginId())
  );
  return app;
}

構文

Session.getActiveUser()

戻り値
Userオブジェクト

解説

Session.getActiveUser()により、スクリプトを実行したユーザーのユーザーオブジェクトを取得することができる。戻り値として取得できるUserクラスを使い、以下の情報にアクセスできる。

Session.getActiveUser().getEmail()

ユーザーのEmailアドレス

Session.getActiveUser().getUserLoginId()

ユーザーのログインID。基本的にはgetEmailと同じ値になるが、Google AppsでログインIdとメールアドレスが異なる設定にしているケースに対応している。

注意点

メールアドレスを公開したくないユーザーのプライバシーを保護するため、getEmail()、getUserLoginId()はスクリプト実行者とスクリプトオーナーのドメインが同じ場合のみ動作する。

関連記事

コメント / トラックバック 1 件

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313067.html/trackback