不允许从一个Google电子表格访问

1 google-sheets google-apps-script

我尝试从其他电子表格中的onEdit事件为我的Google电子表格设置新值.我得到例外:不允许行动.我无法理解我做错了什么.我很乐意为您提供帮助,因为我只是迈出了JS + Google Docs脚本的第一步.

function onEdit(e) {
  if (e.value == "1")
    updateValue(e);
  else
    Browser.msgBox("Type 1 in this cell");
}

function updateValue(curRange) {
  //Get needed SpreadSheet ID and Cell Index (exp:D2) from current sheet
  var ssCur = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ssCur.getSheets()[0];

  var referenceID = sheet.getRange(curRange.range.getRow(), curRange.range.getColumn()+2).getValue();
  var cellCoordinate = sheet.getRange(curRange.range.getRow(), curRange.range.getColumn()+3).getValue();

  // Here still work good and get right values
  Browser.msgBox(referenceID); //tracing string

  try {
    //Create remote spreadsheet object - this string catching Exception
    var ss = SpreadsheetApp.openById(referenceID);
    //Create workbook (sheet)
    Browser.msgBox(ss.getName());
    var sheets = ss.getSheets();
    var sheet4Update = sheets[0].getRange(cellCoordinate).setValue('1');
  }
  catch(err) {
    Browser.msgBox(err);
  }
}
Run Code Online (Sandbox Code Playgroud)

Zig*_*del 5

你可以修复你的代码:1)不要从触发器调用msgBox或任何模态.打破很多东西.2)您无法从简单触发器访问其他文档,而且它以用户身份运行,因此您可能没有其他内容的权限.而是使用不同的名称(而不是onEdit)自行安装触发器,并将其设置为在编辑文档时触发.