首页 > 解决方案 > 谷歌应用脚​​本 v8 中的保护失败

问题描述

在我允许谷歌应用脚​​本升级到 v8 之前,我有这段代码可以正常工作。此代码用于以编程方式添加另一个用户。

var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.addEditor(eMailID);

在 v8 中,它给了我以下错误。

[20-06-01 06:12:16:027 IST] Exception: The parameters (number[]) don't match the method signature for SpreadsheetApp.Protection.addEditor.
at EnableShare(EnableAccess:51:18)

重要的观察是,当我禁用运行时 v8 并切换到早期版本时,代码会在没有任何错误的情况下执行,并且电子表格会将 eMailID 添加为另一个编辑器。

新版本的语法有什么更正吗?

标签: google-apps-scriptgoogle-sheets

解决方案


这个改装怎么样?

根据您的解释,在您的脚本中,如果eMailID是一个数组,我认为启用 V8 时会发生此类错误。那么下面的修改呢?

从:

protection.addEditor(eMailID);

至:

protection.addEditor(eMailID[0]);

或者

protection.addEditors(eMailID);

笔记:

  • 在这个修改中,它假设它eMailID是一个像["###email address###"].

参考:


推荐阅读