Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Javascript Google应用程序脚本将用户数组转换为电子邮件地址数组_Javascript_Arrays_Google Apps Script - Fatal编程技术网

Javascript Google应用程序脚本将用户数组转换为电子邮件地址数组

Javascript Google应用程序脚本将用户数组转换为电子邮件地址数组,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,我正在尝试用谷歌应用程序脚本编写一个脚本 我需要检查用户是否有电子邮件user@domain.com是文件夹的查看器或编辑器。如果用户既不是查看器也不是编辑器,我想将该用户添加为查看器 我正在使用GetViewer获取一组查看器 据我所知,无法通过电子邮件地址查找用户,只能通过用户的电子邮件地址: 因此,我需要将查看器用户数组转换为电子邮件地址数组。然后我可以使用indexOf检查user@domain.com在那个名单上 我该怎么做?据我所知,我需要使用call或apply将一个类应用于一个

我正在尝试用谷歌应用程序脚本编写一个脚本

我需要检查用户是否有电子邮件user@domain.com是文件夹的查看器或编辑器。如果用户既不是查看器也不是编辑器,我想将该用户添加为查看器

我正在使用GetViewer获取一组查看器

据我所知,无法通过电子邮件地址查找用户,只能通过用户的电子邮件地址:

因此,我需要将查看器用户数组转换为电子邮件地址数组。然后我可以使用indexOf检查user@domain.com在那个名单上

我该怎么做?据我所知,我需要使用call或apply将一个类应用于一个数组并获取另一个数组

顺便说一句,我意识到这是可行的,但我想知道是否有一种更快或更干净的方法可以做到这一点,而不必在阵列中循环:

       var vieweremails = new Array();
    var viewers = folder.getViewers().concat(folder.getEditors()).concat(folder.getOwner()); 

   for (var i = 0; i < viewers.length; i++) {
   vieweremails[i] = viewers[i].getEmail()
 }

如果您想检查新用户的电子邮件和所有查看者的电子邮件,除了在阵列中循环外,没有其他方法。相反,您可以使用,因为如果用户已经在编辑器列表中,则该选项无效


希望有帮助

是的,我本来想这么做,我知道文件上说没有效果,但这并不完全准确。使用“addViewer”时,会向用户发送通知电子邮件。在我的例子中,这完全是不可能的,因为脚本应该检查以确保权限设置正确,并且将设置为每30分钟运行一次。我不希望每30分钟就有一封电子邮件发送给每个人,说他们被邀请查看文件夹。使用addViewer类无法禁用它。我可以使用as,但这似乎是不必要的过度复杂化。