Javascript Google应用程序脚本将用户数组转换为电子邮件地址数组
我正在尝试用谷歌应用程序脚本编写一个脚本 我需要检查用户是否有电子邮件user@domain.com是文件夹的查看器或编辑器。如果用户既不是查看器也不是编辑器,我想将该用户添加为查看器 我正在使用GetViewer获取一组查看器 据我所知,无法通过电子邮件地址查找用户,只能通过用户的电子邮件地址: 因此,我需要将查看器用户数组转换为电子邮件地址数组。然后我可以使用indexOf检查user@domain.com在那个名单上 我该怎么做?据我所知,我需要使用call或apply将一个类应用于一个数组并获取另一个数组 顺便说一句,我意识到这是可行的,但我想知道是否有一种更快或更干净的方法可以做到这一点,而不必在阵列中循环:Javascript Google应用程序脚本将用户数组转换为电子邮件地址数组,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,我正在尝试用谷歌应用程序脚本编写一个脚本 我需要检查用户是否有电子邮件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,但这似乎是不必要的过度复杂化。