google-apps-script - 如何使用 Apps 脚本将新用户添加到 G-Suite 共享驱动器?
问题描述
我已经根据提交的 Google 表单自动创建 G-Suite 用户,并且我还想根据他们在我们组织中的角色(在表单上标明)将他们添加到适当的共享驱动器中。但是,我无法找到共享驱动器来添加权限 - 如果我使用.getFoldersByName
它不会找到驱动器,并且如果我在共享驱动器中获得一个文件夹并使用getParent()
它返回{}
.
我相信这是因为共享驱动器不是“文件夹”对象而是另一种类型。我从这个站点找到了一些代码,粘贴在下面,它们将获取文件夹名称和 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;
}
解决方案
推荐阅读
- powershell - 如何在 PowerShell 中创建 JSON?
- javascript - 从数组创建组合并将其转换为 javascript 中的多维排列?
- r - 如何从 R Shiny selectInput() 中的列表中提取元素名称而不是值?
- java - Intellij idea Debug:应用程序正在运行
- c++ - 使用 Visual Studio 2020 的 C++ 无法使用 .length()
- r - 错误:“rjags”的包或命名空间加载失败
- php - 如何从php获取数据到html
- mongodb - 查询 MongoDB 中的嵌套对象数组
- javascript - 与关键和子组件反应的关键道具警告
- json - 如何在 App Inventor 中解析 JSON 文件?