Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何在没有getUserLoginId(谷歌应用程序脚本)的情况下将代码执行限制在少数预定义用户_Google Apps Script - Fatal编程技术网

Google apps script 如何在没有getUserLoginId(谷歌应用程序脚本)的情况下将代码执行限制在少数预定义用户

Google apps script 如何在没有getUserLoginId(谷歌应用程序脚本)的情况下将代码执行限制在少数预定义用户,google-apps-script,Google Apps Script,我有一个谷歌脚本,它运行在我的谷歌工作表上,根据一个专栏发送电子邮件 我希望该脚本只能由几个预定义的用户运行。i、 例如,我想我需要一种方法让代码检查当前用户是谁,并将其与授权代码执行者列表进行比较 但是,getUserLoginId和getUserEmail不起作用,因为用户和我在不同的域中,所以只返回null 是否有其他方法限制哪些用户可以/不能执行代码中的函数?您可以使用Session.getActiveUser.getEmail()获取活动用户的电子邮件。然后,您可以将此电子邮件Id与允

我有一个谷歌脚本,它运行在我的谷歌工作表上,根据一个专栏发送电子邮件

我希望该脚本只能由几个预定义的用户运行。i、 例如,我想我需要一种方法让代码检查当前用户是谁,并将其与授权代码执行者列表进行比较

但是,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;
}