Javascript 谷歌应用程序脚本setOwner在文件夹中消失

Javascript 谷歌应用程序脚本setOwner在文件夹中消失,javascript,google-apps-script,permissions,google-apps,Javascript,Google Apps Script,Permissions,Google Apps,我正在尝试将文件夹从一个Google Drive帐户批量移动到多个用户帐户。我一直在玩谷歌应用程序脚本,看看我是否能做到这一点。这就是正在发生的事情: 在我的驱动器中创建测试文件夹 从Google Apps脚本,与其他用户共享文件夹(编辑权限) 将其他用户设置为文件夹的所有者,这将为我设置编辑权限 剥夺自己的任何权利 在第2步中,我可以看到第二个用户驱动器中的文件夹(与我共享),但在第3步中,第二个用户驱动器中的文件夹一起消失。文件夹中的任何文件只能在“最近”部分中找到 有人见过这个吗 下面是代

我正在尝试将文件夹从一个Google Drive帐户批量移动到多个用户帐户。我一直在玩谷歌应用程序脚本,看看我是否能做到这一点。这就是正在发生的事情:

  • 在我的驱动器中创建测试文件夹
  • 从Google Apps脚本,与其他用户共享文件夹(编辑权限)
  • 将其他用户设置为文件夹的所有者,这将为我设置编辑权限
  • 剥夺自己的任何权利
  • 在第2步中,我可以看到第二个用户驱动器中的文件夹(与我共享),但在第3步中,第二个用户驱动器中的文件夹一起消失。文件夹中的任何文件只能在“最近”部分中找到

    有人见过这个吗

    下面是代码函数(我缩短了ID并省略了用户名)


    传输后会丢失所有的父项信息,只需保存父项,然后在setOwner之后再次设置它们:

    function folderOps(){ 
      var folder = DriveApp.getFolderById('0ByoBlv24h2'),
          parents = folder.getParents();
      folder.addEditor('username@domain.com');
      folder.setOwner('username@domain.com');
    
      while( parents.hasNext() )
        parents.next().addFolder(folder);
    
      folder.removeEditor('me@domain.com');
    }
    

    或者,在RemoveEdit之后,我无法复制它。

    不幸的是,它仍在执行相同的行为。我已经用调试器浏览了代码。在
    文件夹中。addEditor
    我可以看到该文件夹出现在第二个用户“与我共享”中。然后在
    folder.setOwner
    中,它从第二个用户“与我共享”中消失,但保留在原始用户驱动器中,第二个用户作为所有者。在第二个用户驱动器的任何位置都找不到它。在
    文件夹.removeEditor
    中,它从两个文件夹中都消失了。文件夹中的文件仅位于“第二个用户最近使用”部分。我的问题是,它必须以获得新权限的用户身份运行,该文件应位于根文件夹中。您可以在另一个用户帐户上发布webapp,该帐户将文件安排在文件夹中,并将文件和文件夹的ID作为参数传递。
    function folderOps(){ 
      var folder = DriveApp.getFolderById('0ByoBlv24h2'),
          parents = folder.getParents();
      folder.addEditor('username@domain.com');
      folder.setOwner('username@domain.com');
    
      while( parents.hasNext() )
        parents.next().addFolder(folder);
    
      folder.removeEditor('me@domain.com');
    }