我有一个在我的 google 表格上运行的 google 脚本,它根据列发送电子邮件。
我希望该脚本只能由几个预定义的用户运行。即,我认为我需要一种方法来让代码检查当前用户是谁,并将其与授权代码执行者列表进行比较。
但是,getUserLoginId 和 getUserEmail 不起作用,因为用户和我在不同的域中,所以只返回 null。
有没有其他方法可以限制哪些用户可以/不能在代码中执行功能?
我有一个在我的 google 表格上运行的 google 脚本,它根据列发送电子邮件。
我希望该脚本只能由几个预定义的用户运行。即,我认为我需要一种方法来让代码检查当前用户是谁,并将其与授权代码执行者列表进行比较。
但是,getUserLoginId 和 getUserEmail 不起作用,因为用户和我在不同的域中,所以只返回 null。
有没有其他方法可以限制哪些用户可以/不能在代码中执行功能?
您可以使用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;
}