2014-07-07 60 views
1

我正在为我公司编写一个脚本,它将自动在我自己的驱动器中创建一个文件的副本,然后将副本的所有权从电子表格转移到用户列表。该脚本完全可以工作,除了该文件在用户的“所有文件”中创建并且不会显示在他们的“我的驱动器”中! 转让所有权并不是我遇到的问题,问题在于传输文件在新所有者的云端硬盘中的位置。使用Google脚本将共享文件移动到我的云端硬盘?

我试着将它发送到他们的根文件夹,但那并没有工作,我不知道为什么?它会将它发送给我的云端硬盘,但它会被复制到已经在我的云端硬盘中的文件夹中(因为我已经从我驱动器中的文件夹中的一个文件中复制文件),但对列表中的其他人该文件是新共享并传输到,将其移动到根目录什么也不做,它仍然在文件没有任何标签的所有文件。

有没有人有一个想法如何自动移动它?

这里是我一直在使用,对于我自己我的云端硬盘的工作原理,但没有其他人的名单上的代码:

//Take new file out of parent folders 
    var folders = newDoc.getParents();     //get parents 
    for (var j = 0; i < folders.length; i++){    //loop through & delete parents 
    DocsList.getFileById(newDocId).removeFromFolder(folders[i]); //using DocsList 
    } 

    var root = DocsList.getRootFolder(); //Get root 

    DocsList.getFileById(newDocId).addToFolder(root); //add to my drive 

编辑:我被告知,将所有权转移应该自动把它放进我的云端硬盘文件但没有发生?

编辑2:我一直在使用“addFile()”应该将它添加到我的云端硬盘文件夹中的用户文件夹试过了,但它只是将其添加到我的人的驱动器中运行脚本,其余的用户仍然只能在他们的“所有项目”文件夹中获取它。这是推动我坚果,有人请帮忙; C

+1

这不是一个问题,设置所有者已经正常工作,但将其移入所有项目而不是我的云端硬盘,但我需要项目位于“我的云端硬盘”中,并将其添加到根目录或“我的云端硬盘”文件夹不起作用 – Maribov

+0

是否可能有一种方法可以指定将文件传输到哪个用户的根文件夹? – Maribov

+0

或者也许有办法找到用户的我的云端硬盘文件夹的ID? – Maribov

回答

0

所以经过几天的驾驶自己INSANE和四处询问,我可以想到我们终于听到这是一个新的谷歌驱动器用户界面推出的影响,所以显然现在它就像现在这样,直到谷歌修复它:C

什么是不合意的结局。

0

不幸的是,它不可能完全按照你描述的方式。

正如您发现的,文件所有权可以更改。这是因为您拥有该文件,并且该文件可通过您授予您云端硬盘帐户的授权通过脚本访问。

将文件放置到不同用户的驱动器上的某个位置是不可能的,因为该脚本没有权限在它不知道的驱动器上设置位置。

但是,可以通过在每个用户帐户下运行脚本来设置位置,但显然这对设置和维护有点艰巨。

另一种选择:如果您使用GAM(Google Apps Manager),则可以跨帐户进行更改。这是因为GAM在管理员用户访问下运行。来自GAM网站的示例:

本示例更新了“我的Ramblings”文件以加星标,并将其置于名为“我说过的很棒的东西”的文件夹下(假定该用户名已存在一个文件夹)

gam user [email protected] update drivefile drivefilename "My Ramblings" starred true parentname 'Brilliant things I've said' 
相关问题