我已经基于提交的Google表单自动创建了G-Suite用户,并且我也希望根据他们在我们组织中的角色(在表单上指明)将其添加到适当的共享驱动器中。但是,我找不到共享驱动器来添加权限-如果我使用.getFoldersByName
则找不到驱动器,并且如果我在共享驱动器的中有一个文件夹,并且使用getParent()
会返回{}
。
我相信这是因为共享驱动器不是“文件夹”对象,而是另一种类型。我从this site, pasted below中找到了一些代码,这些代码将获取文件夹名称和ID,但是由于文件夹方法不起作用,因此我不清楚如何使用此信息来修改驱动器权限。
try {
var teamDrives = {},
baseUrl = "https://www.googleapis.com/drive/v3/teamdrives",
token = ScriptApp.getOAuthToken(),
params = {
pageSize: 10,
fields: "nextPageToken,teamDrives(id,name)"
};
do {
var queryString = Object.keys(params).map(function(p) {
return [encodeURIComponent(p), encodeURIComponent(params[p])].join("=");
}).join("&");
var apiUrl = baseUrl + "?" + queryString;
var response = JSON.parse(
UrlFetchApp.fetch( apiUrl, {
method: "GET",
headers: {"Authorization": "Bearer " + token}
}).getContentText());
response.teamDrives.forEach(function(teamDrive) {
teamDrives[teamDrive.id] = teamDrive.name;
})
params.pageToken = response.nextPageToken;
} while (params.pageToken);
return teamDrives;
} catch (f) {
Logger.log(f.toString());
}
return false;
}