这是较大脚本的第一部分,但我需要获取对单元格进行编辑的人员的电子邮件地址。对于示例,我只是尝试将编辑器电子邮件添加为已编辑的单元格的注释。
我知道onEdit()在authMode = LIMITED中运行,这是个问题。并且可安装的触发器也将无法工作,因为它只会返回创建脚本的人而不是单元格的编辑器。
这意味着如果我手动让它们授权,下面适用于脚本的所有者,但不适用于脚本的任何编辑者。
如果有办法迫使用户在第一次编辑时授权自己,我想我可以使用它。
function onEdit(e){
Logger.log(e);
var range = e.range;
var email1 = Session.getActiveUser().getEmail();
var email2 = Session.getEffectiveUser().getEmail();
range.setNote('Active User: ' + email1 + '\nEffective User: '+ email2);
}
答案 0 :(得分:2)
由于遗留行为和隐私问题,管理电子邮件可见性的规则非常复杂。如您所述,除非他们自己授权脚本,否则您将无法获取用户的电子邮件地址。一个特例是Google Apps域中的用户。如果脚本的所有者已授权,则它将能够读取域内其他用户的电子邮件地址。
无法强制授权,因此对于用户不在同一个域中或是消费者帐户的情况,您必须要求他们通过菜单项,按钮或授权脚本。其他方式。