首页 > 解决方案 > 如何使用 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;
}

标签: google-apps-scriptgoogle-drive-api

解决方案


推荐阅读