google-apps-script - 谷歌应用脚本 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 添加为另一个编辑器。
新版本的语法有什么更正吗?
解决方案
这个改装怎么样?
根据您的解释,在您的脚本中,如果eMailID
是一个数组,我认为启用 V8 时会发生此类错误。那么下面的修改呢?
从:
protection.addEditor(eMailID);
至:
protection.addEditor(eMailID[0]);
或者
protection.addEditors(eMailID);
笔记:
- 在这个修改中,它假设它
eMailID
是一个像["###email address###"]
.
参考:
推荐阅读
- swift - SWIFTUI 滑块更改拇指图像或拇指大小?
- azure - 带有应用服务连接错误的 Azure Key Vault
- javascript - 内容安全策略阻止内联执行
- keyboard - 如何修复此 gnuplot 错误以处理按键?
- php - PHP 解析错误:语法错误、意外的“CallClient”(T_STRING)、期望函数(T_FUNCTION)或 const(T_CONST)
- google-apps-script - 如何查询一个 URL 是否被 Google 索引?
- c# - Rollbar .NET API:如何等待所有待处理的异步消息完成?
- php - 如何从 Microsoft Graph 获取任务列表
- javascript - 在伪元素在makestyles中不起作用之前
- python - 如何在数据集中显示特定单词?