0

列に基づいてメールを送信する Google シートで実行される Google スクリプトがあります。

そのスクリプトを、事前に定義された少数のユーザーのみが実行できるようにしたいと考えています。つまり、現在のユーザーが誰であるかをコードでチェックし、それを許可されたコード実行者のリストと比較する方法が必要だと思います。

ただし、ユーザーと私が別のドメインにいるため、getUserLoginId と getUserEmail が機能せず、null が返されます。

コード内の関数を実行できる/実行できないユーザーを制限する他の方法はありますか?

4

1 に答える 1

2

Session.getActiveUser.getEmail()アクティブ ユーザーのメールを取得するために使用できます。次に、この電子メール ID を許可された電子メール ID の配列と比較できます。

サンプル コード スニペットを次に示します。

function myFunction(){
  if (isAllowed()){
    //Send email etc
  }
}


function isAllowed(){
  var allowed = false;
  var currentUser = Session.getActiveUser().getEmail();
  var allowedUsers = ['email1@gmail.com', 'email2@gmail.com', 'email3@gmail.com'];
  if(allowedUsers.indexOf(currentUser) != -1){
    allowed = true;
  }
  return allowed;
}
于 2012-12-04T05:10:09.443 に答える