我们希望将学校资料的副本推送到学生自己的“我的云端硬盘”文件夹中。
以下脚本效果很好,很好地将源文件夹的链接放在学生“与我共享”文件夹中。
function setPermissions(){
var id = "SOURCE_FOLDER_ID"
var firstGet = DriveApp.getFolderById(id)
var folder = firstGet.getId()
Drive.Permissions.insert(
{
'role': 'writer',
'type': 'user',
'value': 'TARGET_USER_EMAIL',
},
folder,
{
'sendNotificationEmails': 'false'
});
}
然而,这些是8或9岁的年轻学生,我们希望我们制作的项目文件夹最终位于“我的驱动器”位置,而无需从学生方面进一步点击。
我知道我们可以使用addFolder()将文件夹放入学生的Google云端硬盘根文件夹中。
但是,这意味着知道学生的根文件夹ID。
有谁知道如何通过迭代他们的电子邮件地址来获取学生的根文件夹ID?
Google has documentation关于如何获取当前用户的rood文件夹,但我希望得到班上所有学生的根文件夹ID。
或者我是以错误的方式接近这个?
答案 0 :(得分:0)
如果您要重新插入权限 - Drive.Permissions.insert()
- 您正在共享该文件,那么默认位置就是"与我共享",所以你&#39 ;分享后需要移动文件。
我认为你想从你的问题中选择的另一种方法是使用Drive.Files.copy()
,如果该项目放在parents[]
属性中指定的文件夹中,它将放置一个副本。未在请求正文中设置parents[]
数组会将目标设置为帐户的Google云端硬盘根目录。