【问题标题】:Move Folders in Google Drive Using Google Apps Script使用 Google Apps 脚本在 Google Drive 中移动文件夹
【发布时间】:2021-09-25 02:23:43
【问题描述】:

我想知道是否有人可以帮我看看这个。

  • 目标

我的公司在谷歌驱动器上有大量的客户文件夹,其中包含完整的内容(文件和文件夹)。我正在尝试获取所有现有内容,并将其移动到每个名为“旧客户端工作”的客户端文件夹中新创建的文件夹中。

  • 问题

当我运行代码时,移动文件夹时出现问题。创建“旧客户端工作”文件夹可以正常工作,将现有文件移入其中也是如此。但是在尝试移动文件夹时代码会出错。

  • 代码

这是我的代码:

function createOldClientWorkFolder() {
    var clientContentFolder = DriveApp.getFolderById("IDhere");
    var clientFolders = clientContentFolder.getFolders();
    while(clientFolders.hasNext()) {
        var client = clientFolders.next();
        var oldWorkFolder = client.createFolder('Old Client Work');
        var clientContentFiles = client.getFiles();
        var clientContentFolders = client.getFolders();
        while (clientContentFiles.hasNext()) {
              var fileToMove = clientContentFiles.next();
              fileToMove.moveTo(oldWorkFolder)
        }

        while (clientContentFolders.hasNext()) {
              var folderToMove = clientContentFolders.next();
              folderToMove.moveTo(oldWorkFolder)
        }


    }

}

任何帮助将不胜感激!

【问题讨论】:

  • 欢迎来到Stack Overflow.,请添加文字错误信息。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: javascript google-apps-script google-drive-api


【解决方案1】:

(由于您没有提供日志/错误消息,我在这里猜想,但不久前我在尝试移动文件夹时遇到了类似的情况,所以我认为这可能会有所帮助。)

moveTo 要求您对尝试自行移动的对象具有权限。您的应用脚本可能没有对实际客户端文件夹的写入权限吗? (moveTo 修改了您要移动的文件夹对象的 parent 属性,因此您还具有读取写入权限,而不仅仅是读取)。

【讨论】:

    猜你喜欢
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多