実現したいこと
もし指定したgoogleアカウントでアクセスしたユーザー以外がアクセスした場合、
アクセス制限をしたい。
前提
下記のようなコードを書きました。
しかしデプロイしたアカウント以外ではアクセスできませんでした。
指定したアカウントでアクセスしても「アクセス権限がありません」と表示されます。
function doGet() { //アクセス許可するgoogleアカウント var allowedEmails = ["xxxx1@gmail.com", "xxxx2@gmail.com","xxxx3@gmail.com"]; // アクセスしたユーザーのGoogleアカウントを取得 var LOGIN_USER = Session.getActiveUser().getEmail(); if (!allowedEmails.includes(LOGIN_USER)) { return HtmlService.createHtmlOutput('<p>アクセス権限がありません<p>); } }
デプロイ時の設定
-
次のユーザーとして実行
「自分 (xxxx1@gmail.com)」 -
アクセスでいるユーザー
「Googleアカウントを持つ全員」
試したこと
var htmlContent ='<p>アクセスしたユーザーのメールアドレス: ' + LOGIN_USER + '</p>';
これでメールアドレスが取得できているか試したところ、
空白が表示されました。
おそらくうまく取得できていません。
原因はこの部分かと思います。
コードのコピーミスでなければ、まず('<p>アクセス権限がありません<p>)のところの最後の「'」が抜けていますね。
↓
('<p>アクセス権限がありません<p>')
本来のコードの方では正しく入っていますか?
【追記】すみません、「アクセス権限がありません」の表示がされるという事は、シンタックスエラーは生じていない=本来のコードでは抜けていないって事ですよね。余計な指摘をしてすみません、ご放念下さい。
返信ありがとうございます
本来のコードには正しく入っていました

回答1件
あなたの回答
tips
プレビュー