Google Apps脚本setOwner在文件夹中消失了

时间:2015-11-09 05:43:39

标签: javascript google-apps-script permissions google-apps

我正在尝试将文件夹从一个Google云端硬盘帐户批量移动到各种用户帐户。我一直在玩Google Apps脚本以查看我是否可以执行此操作。这就是发生的事情:

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

    有没有人见过这个?

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

    function folderOps(){ 
      var folder = DriveApp.getFolderById('0ByoBlv24h2');
      folder.addEditor('username@domain.com');
      folder.setOwner('username@domain.com');
      folder.removeEditor('me@domain.com');     
    }
    

1 个答案:

答案 0 :(得分:0)

转移后丢失了所有父母的信息,只需保存父母,然后在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');
}

或者也许在removeEditor之后,我无法重现这一点。