如何使用JavaScript API将Google驱动器文档从一个文件夹复制到另一个文件夹

时间:2016-02-19 06:22:35

标签: javascript google-api google-drive-api google-drive-realtime-api

我的Google云端硬盘中有两个文件夹Folder1Folder2

我在Folder1中创建了一个google驱动器文档doc1。后来我需要将此文档复制到Folder2。我怎样才能做到这一点。

我尝试了下面的链接,但它在同一个文件夹上创建了副本。

https://developers.google.com/drive/v2/reference/files/copy

/**
 * Copy an existing file.
 *
 * @param {String} originFileId ID of the origin file to copy.
 * @param {String} copyTitle Title of the copy.
 */
function copyFile(originFileId, copyTitle) {
  var body = {'title': copyTitle};
  var request = gapi.client.drive.files.copy({
    'fileId': originFileId,
    'resource': body
  });
  request.execute(function(resp) {
    console.log('Copy ID: ' + resp.id);
  });
}

2 个答案:

答案 0 :(得分:0)

正如我在blog上所读到的,没有直接的方法可以将文件从Google云端硬盘中的一个文件夹移动到另一个文件夹。您可以选择将文件复制到另一个文件夹,将其名称设置为原始文件,然后使用文件的setTrashed(true) method删除原始文件。

请注意,如果文件已由其他用户上传,而脚本在其他用户下运行,则此方法将失败。

以下是一个示例代码段:

function copyFile(originFileId, destinationFileId) {

  var files = originFileId.getFiles();

  while (files.hasNext()) {

    var file = files.next();
    file.makeCopy(target).setName(file.getName());
    file.setTrashed(true);

  }

希望这有帮助! :)

答案 1 :(得分:0)

在2020年出现问题。前往Google Colab并使用 ! cp path1 path2

您甚至可以对目录使用-r选项。很简约! 虽然我应该警告您,如果您的文件夹包含很多文件或包含大文件,此方法会很慢。

编辑:Colab中的错字