Google apps script 谷歌应用程序脚本如何保护自己的范围

Google apps script 谷歌应用程序脚本如何保护自己的范围,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我曾尝试在谷歌电子表格中创建一个谷歌应用程序脚本,以保护运行该脚本的用户不受影响。需要的是,此脚本的用户在运行脚本后不能编辑特定范围。另一个用户(主管)将被告知,该用户已(锁定)该范围,准备由主管接受 我试过这个: var protection = ss.getRange(start_row,start_col,30,7).protect().setDescription('Suunnitelma ilmoitettu.'); ss.getRange(start_row,start_col,30

我曾尝试在谷歌电子表格中创建一个谷歌应用程序脚本,以保护运行该脚本的用户不受影响。需要的是,此脚本的用户在运行脚本后不能编辑特定范围。另一个用户(主管)将被告知,该用户已(锁定)该范围,准备由主管接受

我试过这个:

var protection = ss.getRange(start_row,start_col,30,7).protect().setDescription('Suunnitelma ilmoitettu.');
ss.getRange(start_row,start_col,30,7).protect().removeEditor(Session.getEffectiveUser());

但是,它不起作用。当前用户始终具有该范围的权限。是否可以保护某一范围的google应用程序脚本不受自身的影响,而只对所有者不受保护?

我还尝试将Session.getEffectiveUser()替换为电子邮件格式的google帐户ie。user@gmail.com,但也没有运气。你需要编写可以从工作表中调用并运行外部代码位的代码(例如,作为web应用程序发布的脚本)。然后,您的webapp将打开请求的电子表格(在请求中提供id),然后对给定范围(在请求中提供范围)应用保护,以防止用户(在请求中提供用户电子邮件)修改它。webapp必须作为有权编辑请求工作簿的用户运行,而不是发出请求的用户。