【发布时间】:2014-08-28 03:05:19
【问题描述】:
我正在为我的公司编写一个脚本,它会自动在我自己的驱动器中制作一个文件的副本,然后将副本的所有权从电子表格转移到用户列表中。该脚本完全可以工作,只是该文件是在用户的“所有文件”中创建的,并且没有显示在他们的“我的驱动器”中! 转移所有权不是我遇到的问题,问题是转移文件在新所有者的云端硬盘中的位置。
我尝试将其发送到他们的根文件夹,但没有成功,我不知道为什么?它为我将它发送到“我的云端硬盘”,但它被复制到我的“我的云端硬盘”中已经存在的文件夹中(因为我已经从我的驱动器文件夹中的文件中复制了该文件)但对于列表中的其他任何人文件是新共享并传输到的,将其移动到根目录不会执行任何操作,并且它保留在所有文件中,文件上没有任何标签。
有人知道如何自动移动它吗?
这是我一直在使用的代码,适用于我自己的“我的云端硬盘”,但没有其他人在列表中:
//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
【问题讨论】:
-
这不是同一个问题,set owner 已经可以正常工作了,但它会将其移动到所有项目而不是我的云端硬盘中,但我需要该项目位于我的云端硬盘中,并将其添加到 root 或“我的驱动器”文件夹不起作用
-
有没有办法指定您将文件传输到哪个用户的根文件夹??
-
或者是否有办法找到用户的“我的云端硬盘”文件夹的 ID?
标签: javascript google-apps-script