今回は、Google Apps Script(GAS)のWebアプリケーション(HtmlService)を実行者のGoogleアカウントID(メールアドレス)を取得する方法についてご紹介します。
Webアプリケーション実行者のGoogleアカウントID(メールアドレス)を取得する
スクリプトファイルとHTMLファイルを用意する
まず、スクリプトエディタに下記のサンプル1のスクリプトファイルと、サンプル2のHTMLファイル(index.html)を用意します。
・サンプル1
function doGet() { return HtmlService.createTemplateFromFile(“index”).evaluate(); } |
・サンプル2(index.html)
<!DOCTYPE html> <html> <head> <base target=”_top”> <?var address = Session.getActiveUser().getUserLoginId();?> </head> <body> こんにちは! <?!=address?> さん </body> </html> |
先にサンプル2についてご紹介しておくと、
Session.getActiveUser().getUserLoginId();
がウェブアプリケーション実行者のGoogleアカウントID(メールアドレス)を取得するためのスクリプトです。
<?var address = Session.getActiveUser().getUserLoginId();?>
では、取得したGoogleアカウントID(メールアドレス)を変数addressに代入し、
こんにちは! <?!=address?> さん
の
<?!=address?>
で取得したGoogleアカウントID(メールアドレス)をHTMLに表示させます。
必要な設定を行う
次にウェブアプリケーションを実行したユーザーのGoogleアカウントID(メールアドレス)を取得するのに必要な設定を行います。
まず、スクリプトエディタのメニュー上部の
「公開」⇒「ウェブアプリケーションとして導入」
より、ウェブアプリケーションとして導入します。
※ウェブアプリケーションとして導入などについての詳細はこちらの記事をご覧ください
次に、
「次のユーザーとしてアプリケーションを実行」
を
「ウェブアプリケーションにアクセスしているユーザー」
に変更してください。
これで、自分以外のウェブアプリケーション実行者のGoogleアカウントID(メールアドレス)を取得する事ができます。
また、
「アプリケーションにアクセスできるユーザー」
も「自分だけ」以外に変更して下さい。
変更が完了しましたら、「更新」をクリックしてください。
ウェブアプリケーションを実行する
「更新」をクリックすると、
「このプロジェクトをウェブアプリケーションとして導入しました。」
というメッセージが表示された画面が表示されますので、
「最新のコード」
をクリックするとWebアプリケーションが実行され、
こんにちは! [ここにGoogleアカウントID(メールアドレス)が表示されます] さん
と表示されたHTMLが開きます。
ここではおそらく自分のGoogleアカウントID(メールアドレス)が表示されるはずです。
自分以外のユーザーが、
「現在のウェブ アプリケーションの URL」に表示されているURL
にアクセスした場合は、アクセスしたユーザーのGoogleアカウントID(メールアドレス)が表示されます。
もし上手く表示されない場合は、
プロジェクトバージョンを新しいものに更新してみて下さい。