google-apps-script - 如何解决 folder.addViewer(); 的“异常:服务错误:驱动器”?
问题描述
我是使用 Google Script 的新手,正在尝试修复预先存在的脚本。我的组织使用 Google 应用程序脚本向文件夹添加和删除批量查看者和编辑者。每次我尝试运行脚本时,我都会收到一条错误消息
“例外:服务错误:驱动器”
@ 代码中包含的行:
folder.addViewer();
我能做些什么来解决这个错误?
对于上下文,这是该行所属的代码部分。userstoadd
并且editorstoadd
都是变量。
function autoadd() {
var folder = DriveApp.getFolderById("folderid");
var usersheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('name');
var viewers = folder.getViewers();
var editors = folder.getEditors();
viewers = viewers.map(function(item) {
return
item.getEmail().toLowerCase();
}).sort();
editors = editors.map(function(item) {
return item.getEmail().toLowerCase();
}).sort();
viewers = viewers.concat(editors);
var userstoadd = usersheet.getRange('H2:H').getValues().filter(String).map(function(item) {
return item[0].toLowerCase();
});
var editorstoadd = usersheet.getRange('C2:C').getValues().filter(String).map(function(item) {
return item[0].toLowerCase();
});
for (var i = 0; i < userstoadd.length; i++) {
if (viewers.indexOf(userstoadd[i]) == -1 && editorstoadd.indexOf(userstoadd[i]) == -1) {
folder.addViewer(userstoadd[i]);
console.log(userstoadd[i]);
}
}
for (var i = 0; i < editorstoadd.length; i++) {
if (editors.indexOf(editorstoadd[i]) == -1) {
folder.addEditor(editorstoadd[i]);
console.log(editorstoadd[i]);
}
}
}