我正在为我的公司编写一个脚本,该脚本将自动在我自己的驱动器中复制文件,然后将副本的所有权从电子表格转移到用户列表。该脚本完全有效,除了该文件是在用户"所有文件"并没有出现在他们的我的驱动器! 转让所有权不是我遇到的问题,问题是转让文件在新所有者的云端硬盘中的位置。
我已经尝试将其发送到根文件夹但是没有用,我不确定为什么?它将它发送给我的驱动器,但它被复制到我的驱动器中的文件夹中(因为我已经从我的驱动器中的文件夹中的文件复制文件)但是对于列表中的任何其他人该文件是新共享和传输的,将其移动到root什么都不做,它保留在所有文件中,文件上没有任何标签。
有人知道如何自动移动它吗?
以下是我使用的代码,该代码适用于我自己的“我的云端硬盘”,但列表中没有其他人可以使用
//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:我尝试过使用&#34; addFile()&#34;它应该将它添加到用户文件夹中的My Drive文件夹中,但它只会将其添加到运行该脚本的人的驱动器中,而其他用户仍然只能在他们的&#34;所有项目& #34;夹。这让我疯了,有人请求帮忙; C
答案 0 :(得分:0)
因此,经过几天驾驶自己INSANE并在任何地方到处询问我能想到我们终于得知这是新Google Drive UI部署的效果,所以显然现在它就像现在这样,直到谷歌修复它:C
什么不满意结束。
答案 1 :(得分:0)
不幸的是,它不可能完全按照你描述的方式实现。
正如您所发现的,文件所有权可以更改。这是因为您拥有该文件,并且脚本可以通过您授予Drive帐户的授权访问该文件。
无法将文件放入其他用户的驱动器位置,因为该脚本无权在其不知道的驱动器上设置位置。
但是,可以通过在每个用户帐户下运行脚本来设置位置,但显然设置和维护有点困难。
另一个选择:如果您使用GAM(Google Apps Manager),则可以跨帐户进行更改。这是因为GAM在管理员用户访问下运行。来自GAM网站的示例:
此示例更新了&#34; My Ramblings&#34;文件将加星标并放在一个名为&#34的文件夹下;我所说的很棒的事情&#34; (假定用户已存在该名称的文件夹)
gam user bsmith@acme.com update drivefile drivefilename "My Ramblings" starred true parentname 'Brilliant things I've said'