0

所以

我收到此错误

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

当我尝试在 Google 电子表格应用程序脚本中的 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 查询在设计的事件函数中起作用?其他人看到这个问题吗?

汤姆

4

2 回答 2

0

有两种方法可以将脚本附加到 onEdit 触发器:(1) 为您的函数选择名称 onEdit 或 (2) 在脚本编辑器中,转到 Resources>Current Script's Triggers 并添加 notonEdit/From spreadsheet/On edit。(2) 对你应该没问题。请参阅指南了解 (1) 和 (2) 之间的区别。

于 2012-07-22T22:31:17.603 回答
0

是否存在某种我未正确设置的权限,或者是否不允许 ScriptDB 查询在设计的事件函数中起作用?

我相信是后者。所谓的简单触发器在它们可以访问的内容上有些限制,因为它们是作为活动用户运行的。如果没有这个限制,就会有一个相当大的安全漏洞。

于 2012-07-22T22:33:57.600 回答