无法在共享驱动器项目上使用此操作。 (第8行,文件“代码”)

时间:2019-11-13 16:24:05

标签: google-apps-script

我一直在多个共享驱动器上使用此脚本来开始清理这些孤立文件。下面是脚本。我开始在两个驱动器上看到的问题是“无法在共享驱动器项上使用此操作”。有什么想法吗?

function collectOrphans(findOrphaned) {
var folder = DriveApp.getFoldersByName('Orphaned').next();
var files = DriveApp.getFiles();
var orphanCount = 0;
while(files.hasNext()){
  var file = files.next();
  if(!file.getParents().hasNext()){
    folder.addFile(file);
    orphanCount++;      
  }
}
Logger.log('Moved ' + orphanCount + ' orphans successfully.');
}"

1 个答案:

答案 0 :(得分:0)

抛出此特定错误是因为您试图添加对位于另一个不同驱动器文件夹(您的个人驱动器或另一个共享驱动器)中的共享驱动器中的文件的引用。

为了克服这个问题,您可以:

  • 为每个驱动器创建一个“孤立”文件夹,然后为每个驱动器重复该功能。
  • 仅使用一个“孤立”文件夹,但使用makeCopy()将文件复制到该文件夹​​,而不仅仅是创建对每个文件的引用。

此外,为了查找孤立的文件,您可能希望使用is:unorganized过滤器和DriveApp.searchFiles()(请参阅here)进行检出。