如何解决使用 onEdit 在编辑事件上自动更新 Google Sheet
当作者向文件提交内容 URL 时,我想在 Google 表格文件的作者字段中自动更新作者。基本上,我会收到活动用户(作者)的电子邮件,并使用给定的电子邮件将固定名称更新到字段中。
这是我的代码,但它不起作用。
谁能弄清楚为什么它对我不起作用。谢谢
function onEdit(e){
var row = e.range.getRow();
Logger.log(row);
//var actSpreadsheet = e.source.getActiveSpreadsheet();
var actSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//actSpreadsheet.getActiveSheet().getRange(row,4).setValue("Content nào đó");
//Logger.log(e.value);
if (Session.getActiveUser().getEmail() == "vulinh246@gmail.com")
{
Logger.log("Content 1 đang đăng nhập");
actSpreadsheet.getActiveSheet().getRange(row,4).setValue("Content 1");
}
/* var textlog = Session.getActiveUser().getEmail();
Logger.log( textlog); */
var textlog = Session.getActiveUser().getEmail();
switch(textlog){
case "linh.kcnamata@gmail.com":
Logger.log("Content 1 đang đăng nhập");
actSpreadsheet.getActiveSheet().getRange(row,3).setValue(Utilities.formatDate(new Date(),"GMT+1","dd/MM/yyyy") );
actSpreadsheet.getActiveSheet().getRange(row,4).setValue("Content 1");
break;
case "thanlinh246@gmail.com":
Logger.log("Content 2 đang đăng nhập");
actSpreadsheet.getActiveSheet().getRange(row,4).setValue("Content 2");
break;
case "vulinh246@gmail.com":
Logger.log("Content 4 đang đăng nhập");
actSpreadsheet.getActiveSheet().getRange(row,4).setValue("Content 4");
break;
}
}
解决方法
Session.getActiveUser() 需要权限。范围是 https://www.googleapis.com/auth/userinfo.email
onEdit() 触发器是一个简单的触发器,不能执行需要权限的功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。