从文件中驱动文件夹ID

时间:2015-05-18 15:33:27

标签: google-apps-script

更新DriveApp API后,我正在努力更新我的脚本。 它能够从文件中找到Drive Folder ID。 基本上从电子表格开始,我发现包含该文件的文件夹的ID是什么。 现在,如果我尝试:

var thisFile =(the file I have)
var newFile = (the file I want to add to the same folder)
var parentFold = thisFile.getParents()[0];
var targetFolder = DriveApp.getFolderById(parentFold);
targetFolder.addFile(newFile);

系统在第4行发送错误“找不到具有给定ID的项目,或者您无权访问它。” (即使我打开所有权限)。 有什么建议吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

getParents()方法返回FolderIterator。它不会返回文件夹ID。您需要获取文件夹:

var folder = folders.next();

然后获取文件夹的ID:

var theId = folder.getId();

完整代码:

function copyToParent() {
  var thisFile = DriveApp.getFileById('file ID');
  //var newFile = (the file I want to add to the same folder)

  var parentFold = thisFile.getParents();
  var folder = parentFold.next();
  var theId = folder.getId();
  var targetFolder = DriveApp.getFolderById(theId);

  Logger.log('targetFolder name: ' + targetFolder.getName());
  targetFolder.addFile(newFile);
};