在Google Spreadsheet Apps脚本中的onEdit()函数中使用ScriptDB查询

时间:2012-07-22 20:57:45

标签: google-apps-script google-sheets

所以

我收到此错误

  

糟糕您无权调用查询(第7行)

当我尝试在Google Spreadsheet Apps脚本中的onEdit()函数中查询ScriptDB数据库时。下面是我用来获取可重复错误的代码:

function onEdit(){
  //tell me event has happened
  Browser.msgBox("onEdit() Fired")
  //get ScriptDB reference
  var db = ScriptDb.getMyDb();
  //perform any query
  var results = db.query({})
}

将onEdit()替换为notonEdit(),并在手动触发时按预期工作。

function notonEdit(){
  //tell me event has happened
  Browser.msgBox("notonEdit() Fired")
  //get ScriptDB reference
  var db = ScriptDb.getMyDb();
  //perform any query
  var results = db.query({})
}

是否存在我未正确设置的某种权限,或者不允许ScriptDB查询在事件函数中按设计运行?还有其他人看到这个问题吗?

汤姆

2 个答案:

答案 0 :(得分:0)

将脚本附加到onEdit触发器有两种方法: (1)为您的函数选择名称onEdit或在脚本中选择(2) 编辑,转到参考资料>当前脚本的触发器并添加 notonEdit / From spreadsheet / On edit。 (2)应该对你好。 有关(1)和(2)之间的区别,请参阅the guide

答案 1 :(得分:0)

  

是否有某种权限我没有正确设置或是   ScriptDB查询不允许在设计中在事件函数中起作用吗?

我相信它是后者。所谓的simple triggers在他们可以访问的内容方面受到限制,因为它们作为活动用户运行。没有这个限制,就会有一个相当重要的安全漏洞。