情况:
我有一个包含 15 个工作表和 20 个用户登录并修改它的电子表格。
我有以下脚本,应该与打开电子表格的用户电子邮件地址一起发送电子邮件。
需要的脚本功能:
- 当用户打开电子表格时发送电子邮件。
问题:
Session.getEffectiveUser() 仅从脚本所有者那里获取电子邮件,而不是获取我的用户电子邮件。
自 July23 以来的 Session.getEffectiveUser() 应该得到用户的重新授权。我执行以下说明以重新批准其他用户脚本和 Google 帐户的脚本
测试用例:
当有人打开电子表格时,此脚本会触发。
function LoginShift(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
MailApp.sendEmail("xxxxxx@gmail.com", "Login Shift" , "Login UserName: " + Session.getEffectiveUser());
}
- 当我与脚本的所有者一起打开电子表格时,同样会向我发送一封电子邮件,其中包含打开电子表格的电子邮件地址。
- 当我使用不是脚本所有者的其他用户打开电子表格时,脚本运行并发送电子邮件,但使用所有者邮箱而不是打开电子表格的用户的邮箱。
我有其他带有 Session.getEffectiveuser() 的脚本,但是 onEdit 并且工作正常。我不知道为什么这个脚本没有从 getEffectiveUser 获取电子邮件地址。