如何使用JavaScript API将一个google drive文档从一个文件夹复制到另一个文件夹?

问题描述 投票:1回答:2

我有两个文件夹 Folder1Folder2 在我的谷歌驱动器。

我已经创建了一个谷歌驱动器文档 doc1 文件夹1中。后来我需要把这个文件复制到文件夹2中。我如何才能实现这一点。

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

https:/developers.google.comdrivev2referencefilescopy)。

/**
 * 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);
  });
}
javascript google-api google-drive-api google-drive-realtime-api
2个回答
0
投票

由于我读过这个 博客,没有直接的方法来移动文件从一个文件夹到另一个在谷歌驱动器。您的选择是将文件复制到另一个文件夹中,将其名称设置为原始文件,然后使用以下方法删除原始文件 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);

  }

希望能帮到你! :)


0
投票

2020年的破解方法。前往谷歌Colab,使用! cp path1 path2

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

编辑:Colab中的拼写错误

© www.soinside.com 2019 - 2024. All rights reserved.