0

我们希望将我们学校材料的副本推送到学生自己的“我的云端硬盘”文件夹中。

下面的脚本运行良好,并且很好地将源文件夹的链接放在学生“与我共享”文件夹中。

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 Drive 根文件夹中。

但是,这意味着知道学生的根文件夹 ID。

有谁知道我如何通过遍历他们的电子邮件地址来获取学生的根文件夹 ID?

谷歌关于如何获取当前用户 rood 文件夹的文档,但我想获取班级中所有学生的根文件夹 ID。

还是我以错误的方式处理这个问题?

4

1 回答 1

0

如果您正在插入权限 -- Drive.Permissions.insert()-- 您正在共享文件,因此默认位置将是“与我共享”,因此您需要在共享后移动文件。

我认为您希望从您的问题中得到的另一种方法是使用Drive.Files.copy(),如果项目放入parents[]属性中指定的文件夹中,它将复制一份。不在parents[]请求正文中设置数组会将目标设置为帐户的 Google Drive 根目录。

于 2016-07-21T01:22:21.210 回答