我有一个适用于我们工作场所的Google Apps脚本代码,用于将文件上传到单个文件夹,然后根据文件名将其移动到其他文件夹。当我在个人Google云端硬盘上尝试该代码时,它可以正常工作,但在工作场所Team Drive上尝试时,该代码将失败。给出错误“对drive.files.update的API调用失败,并显示错误:未找到文件:(第11行)” 在这种情况下,第11行是Drive.Files.update行。
到目前为止的问题排查:确保将资源>高级Google服务> Drive API v2设置为打开。当我在自己的“ Google我的云端硬盘”上尝试该功能时,也可以使用。在工作组Team Drive上不起作用。无法知道这是由于对Team Drive的某些管理员限制,还是在Team Drive中时我需要使用其他Drive.files.update代码。
function moveFiles() {
var dfldrs=['ALT CHG', 'ALT ADJ', 'ALT PMT', 'APX CHG', 'APX ADJ', 'APX PMT','AUR CHG', 'AUR ADJ', 'AUR PMT','BEA CHG', 'BEA ADJ', 'BEA PMT'];//Seven letter prefixes
var ofObj={'ALT CHG':'id','ALT ADJ':'id','ALT PMT':'id','APX CHG':'id','APX ADJ':'id','APX PMT':'id-','AUR CHG':'id','AUR ADJ':'id','AUR PMT':'id','BEA CHG':'id','BEA ADJ':'id','BEA PMT':'id'};//distribution folder ids
var upldFldr=DriveApp.getFolderById('id');
var files=upldFldr.getFiles();
while(files.hasNext()) {
var file=files.next();
var key=file.getName().slice(0,7);
var index=dfldrs.indexOf(key);
if(index>-1) {
Drive.Files.update({"parents": [{'id': ofObj[key]}]}, file.getId());
}
}
}