我如何使用 ID 将 public google file/folder 导入到使用 google 脚本的 gdrive 帐户?

How do i import public google file/folder using ID to gdrive account using google script?

我想使用 folder/files ID 导入 public google folder/files。我不确定是否可行。

假设我的 google 驱动器文件夹 ID 是“mydriveid” public 文件夹 ID 为“publicfolderid”

我想将 public 文件夹导入我的文件夹。我尝试了以下脚本,但出现错误

Exception: Access denied: DriveApp. copyfile @ Code.gs.6

function copyfile() {
var file = DriveApp.getFileById("File ID");
var source_folder = DriveApp.getFolderById("publicfolderid")
var dest_folder = DriveApp.getFolderById("mydriveid")
// Make a backup copy.
var file2 = file.makeCopy('BACKUP ' + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy-MM-dd') + '.' + file.getName());
dest_folder.addFile(file2);
source_folder.removeFile(file2);
}

要复制文件,您可以使用此代码:

function copyfile() {
  var file = DriveApp.getFileById("fileID");
  var dest_folder = DriveApp.getFolderById("folderID")
  var name = 'BACKUP ' + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy-MM-dd') + '.' + file.getName();
  file.makeCopy(name, dest_folder);
}

它工作正常。我刚测试过。

但是要复制包含文件的文件夹(以及包含文件和子文件夹的子文件夹,我想)这是完全不同的想法。您还必须遍历所有这些。如果您真的需要它,请告诉我。