我一直在寻找解决工作表保护问题的解决方案,我有一个工作表,其中包含自动脚本,这些脚本可以将数据从顶部的某些字段写入工作表。我希望用户能够在顶部的字段中提供数据,然后运行一个在下面添加数据的脚本。如果启用了保护,则用于添加数据的脚本对于工作表的所有者而言是正常的,但是对于具有编辑权限的任何用户而言,该脚本都将失败,因为无法通过脚本清除将要写入到工作表底部的数据的保护。 / p>
https://developers.googleblog.com/2015/02/control-protected-ranges-and-sheets-in.html
几年前,我从Google博客文章中找到了这段代码,并尝试了各种变体而没有成功。...难道无法通过Google Sheets和Google Script实现这种方法吗?
答案 0 :(得分:0)
不幸的是,当前无法以所有者身份运行绑定脚本而无需使用变通方法。只有在使用Triggers或制作standalone脚本Web App时,脚本才能作为所有者运行。您可以看到this for more information。
这应该绕过脚本保护范围的愚弄!
您可以通过创建一个Web应用程序来解决此问题,以便您绑定的脚本与在电子表格上运行的Web应用程序对话。有关更多信息,请参见this answer。
因此,过程如下所示:用户单击在绑定脚本上运行功能的按钮。该功能可对网络应用进行网络调用,该应用可以以脚本创建者的身份运行功能。
我还建议您注意Augustine C的评论:
...您可能还会发现将共享密钥保存在电子表格中,然后使用后端webapp脚本进行验证,或者验证电子邮件的接收者实际上也是编辑者,这很有帮助。您的Google表格中。