如何使用Apps脚本将新用户添加到G-Suite共享驱动器?

时间:2020-01-03 21:09:32

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

我已经基于提交的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;
}

0 个答案:

没有答案