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 回答