代码之家  ›  专栏  ›  技术社区  ›  Lexcel Atmadata

谷歌应用程序脚本:删除和还原保护

  •  1
  • Lexcel Atmadata  · 技术社区  · 6 年前

    我有一个电子表格,每个人都可以编辑,它有一个受保护的工作表,有些工作表的范围是不受保护的。

    我希望单元格可以被任何用户(从菜单)运行的脚本更改,但是 手动。

    当我以非所有者身份运行脚本时,当我尝试临时删除保护时,它会给出错误消息。

    1 回复  |  直到 6 年前
        1
  •  0
  •   TheMaster    6 年前

    要做到这一点似乎并不容易,因为从菜单运行的函数总是以“键盘上的用户”的身份执行。

    一种解决方法是发布 Web App 始终以所有者身份执行。此Web应用将写入上的受保护区域 doPost() . 然后链接到菜单ui的函数将使用 UrlFetch 发布到已发布的Web应用。您还可以使用一些带有密码/随机生成的号码的基本身份验证来拒绝来自脚本外部的请求。

    另外,如果您不相信编辑器不会弄乱绑定脚本,那么最好将其作为私有插件发布,因为在私有插件中源代码不易访问。