Javascript Google脚本上的触发器问题

Javascript Google脚本上的触发器问题,javascript,events,google-apps-script,triggers,Javascript,Events,Google Apps Script,Triggers,我有以下功能,当我手动运行它时,它工作得非常好 function LastUpdate() { var thisSS = SpreadsheetApp.getActiveSpreadsheet(); var sheet = thisSS.getSheetByName('Roster'); var data = Session.getActiveUser().getEmail(); var Edit = 0; var time = TimeStamp(); var Row

我有以下功能,当我手动运行它时,它工作得非常好

function LastUpdate() {
  var thisSS  = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = thisSS.getSheetByName('Roster');
  var data = Session.getActiveUser().getEmail();
  var Edit = 0;
  var time = TimeStamp();
  var Row;
  Row = findInColumn("L", data);
  Edit = checkEdits(Row);
  if (Edit == 1)
  {
    sheet.getRange(Row,20).setValue(time);
  }
}
我通过转到Resources->Triggers手动设置触发器,并选择上面的函数执行onEdit。基本上,每当编辑工作表中的单元格时,我都希望自动触发此函数执行。我不知道是什么问题

任何帮助都将不胜感激

编辑-我试图这样做,但这也不起作用

function onEdit(e)
{
LastUpdate ()
}

为什么不使用简单的onEdit触发器而不是已安装的触发器?因为您正在寻找由活动用户进行的最新编辑,这可能是一个更简单、更快和更稳定的解决方案

function onEdit(e){
  var range = e.range; //edited range

  range.getColumn();
  range.setValue(); 
  //etc

}

我可以调用我从onedit函数编写的函数吗?一个简单的触发器将无权调用
Session.getActiveUser().getEmail()。嗨@Mogsdad,是的,你说得对!我试图显示活动用户数据,但该数据为空。但是,当我手动执行代码时,它似乎填充正确。如何修复此问题?在该用户手动运行脚本并同意Auth范围后,该用户将获得授权。即使使用简单触发器,该用户的会话(和电子邮件)现在也应该可用。我不知道是否有一个简单的解决方法来授权用户,而不需要用户先手动运行该功能。如果您希望对用户授权进行更多控制,并从其配置文件中获取数据,则可以编写授权脚本。请在此处阅读更多信息:这不是一个,因为它依赖于
TimeStamp()
findInColumn()
checkEdits()
,您没有提供这些。将您的代码缩减到演示问题所需的最小示例,然后是问题所在,并解释如何调用触发器。有了这些,我们应该更容易帮助你。嗨@Mogsdad,很抱歉,但你是对的。问题在于var data=Session.getActiveUser().getEmail();线路。