0

我是新手 G-Suite 域管理员,我正在尝试获取域内的所有团队驱动器及其所有者。我使用谷歌应用程序脚本和成功来获取所有团队驱动器名称和 ID。但是,当我尝试通过其 id 到达其中一个团队驱动器时DriveApp.getFolderById(teamDrivesId),我收到以下错误:

未找到团队云端硬盘:{teamdriveid}。

众所周知,我不是那些团队驱动的成员,但我是管理员,所以我怎样才能完成这些事情?请帮助。

这是代码:

function getTeamDriveName() {
    var teamDrivesName, teamDrivesId, pageToken;

    var ssDrives = SpreadsheetApp.openById(sheetTeamDrives.id);
    var sheetDrives = ssDrives.getSheetByName(sheetTeamDrives.sheet);

    do {
        var drivesList = Drive.Teamdrives.list({
            pageSize : 100,
            useDomainAdminAccess : true,
            pageToken: pageToken
        })

        var items = drivesList.items;                         
        for(var j = 0; j < items.length; j++) {
            teamDrivesName = items[j].name;
            teamDrivesId = items[j].id;

            var getDrive = DriveApp.getFolderById(teamDrivesId);
            sheetDrives.appendRow([teamDrivesId,teamDrivesName]);       
        }
        pageToken = drivesList.nextPageToken;
    }
    while (drivesList.nextPageToken)
}
4

1 回答 1

0

首先,团队云端硬盘不是文件夹,因此您需要调用另一个函数才能从 API 获取团队云端硬盘信息。

除此之外,当您想以管理员身份访问团队云端硬盘时,您需要使用Teamdrives收藏。所以你需要调用的函数是Drive.Teamdrives.get(teamDrivesId, {useDomainAdminAccess : true}). 在那里,您将从这些 Teamdrive 获得信息。*来源:https ://developers.google.com/drive/api/v2/reference/teamdrives/get

无论如何,您说您想了解所有者,我想指出团队云端硬盘上没有所有者,这正是他们与您的云端硬盘不同的原因。

我希望它很清楚,这可以帮助你。

于 2018-11-08T10:29:23.077 回答