emailsで設定したユーザーだけが実行できるようにしたい
HtmlServiceのスクリプトで書く場合
ウェブアプリの導入の設定が
User accessing the web app(このアプリケーションにアクセスしているユーザー)
全ユーザーがアクセスできる状態で
var emails で設定した
'foo@gmail.com',
'bar@gmail.com'
だけが実行できるようにしたい。
コード.gsvar emails = [ 'foo@gmail.com', 'bar@gmail.com' ]; var email = Session.getActiveUser().getEmail(); var checkEmail = emails.some(judge); function judge(value) { return value === email; } function doGet(e) { if(checkEmail === true) { var html = '<label>hello</label>'; } else { var html = '<div>このアプリを開く権限がありません。</div>'; } return HtmlService.createHtmlOutput(html); } |
スプレッドシート内のスクリプトで書く場合
(ちょっと書き方を変えた)
シートを複数人で共有している状態で
'foo@gmail.com',
'bar@gmail.com'
だけがスクリプトを実行できるようにしたい。
コード.gsvar email = Session.getActiveUser().getEmail(); function myFunction() { var checkEmail = judgeEmail(email); var message; if(checkEmail === true) { message = 'hello'; } else { message = 'このアプリを実行する権限がありません。'; } Browser.msgBox(message) } var emails = [ 'foo@gmail.com', 'bar@gmail.com' ]; function judgeEmail() { return emails.some(function(value) { return value === email; }); } |