如何使用JavaScript API将Google云端硬盘文档从一个文件夹复制到另一个文件夹



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

我在文件夹 1 中创建了一个doc1谷歌云端硬盘文档。稍后我需要将此文档复制到文件夹 2。我怎样才能做到这一点。

我尝试了以下链接,但它在同一文件夹中创建了副本。

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);
  });
}

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

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

下面是一个示例代码段:

function copyFile(originFileId, destinationFileId) {
  var files = originFileId.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    file.makeCopy(target).setName(file.getName());
    file.setTrashed(true);
  }

希望这有帮助! :)

2020 年的黑客攻击。转到谷歌合作并使用 ! cp path1 path2

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

编辑:Colab中的错别字

相关内容

  • 没有找到相关文章

最新更新