尝试编辑受保护的工作表时,触发onEdit的脚本会遇到权限错误

时间:2012-12-05 21:40:01

标签: google-apps-script triggers google-sheets

我的电子表格的Google脚本存在问题。我通过参考资料菜单安装了 onEdit 脚本。该脚本将一些单元格从不受保护的工作表复制到受保护的工作表。我登录自己的帐户(我是电子表格的所有者)后,该脚本运行正常,但在从无法访问受保护的协作者帐户运行时遇到权限错误片。 该脚本不应该以我的身份运行(帐户所有者)并且不会遇到权限问题吗? 运行 onFormSubmit 的同一电子表格中的另一个脚本能够在协作者提交表单时编辑受保护的表,即使他无权访问受保护的工作表。这表明问题不是权限本身,而是问题是特定于onEdit触发器,对吧?

2 个答案:

答案 0 :(得分:2)

这是预期的行为。 onEdit触发器是三个“简单触发器”之一。

来自docs: “这些简单的触发器响应Google Spreadsheets中的操作而运行,并且它们作为活动用户运行。例如,如果Bob打开电子表格,则onOpen函数将作为Bob运行,无论是谁将脚本添加到电子表格中。原因是,简单的触发器受到允许的限制:

  • 以只读模式打开电子表格时无法执行。
  • 他们无法确定当前用户。
  • 他们无法访问任何需要身份验证的服务 用户。例如,Google翻译服务是匿名的,可以 可以通过简单的触发器访问。 Google日历,Gmail和Google协作平台 不是匿名的,简单的触发器无法访问它们 服务。
  • 他们只能修改当前的电子表格。访问其他 电子表格是被禁止的。

答案 1 :(得分:0)

必须使用已安装的触发器才能工作