Перечислите все командные диски для пользователя со скриптом приложения или Drive api v3
Мне нужно перечислить все командные диски для пользователя со скриптом приложения, но я не знаю, как это сделать.
Я искал в документации Drive API, но ничего не нашел, чтобы решить мою проблему.
Кто-нибудь, чтобы помочь мне? Спасибо
2 ответа
Извините, я склонен давать комментарии, однако мне не хватает представителя. Я не проверял этот, поэтому, если он не может работать, просто проигнорируйте мой ответ.
В приведенном выше коде у объекта params добавьте: useDomainAdminAccess: true
Так как я не являюсь администратором G Suite, поэтому я не уверен, каков будет результат.
Вы всегда можете использовать "Попробуйте API", чтобы проверить свои звонки: https://developers.google.com/drive/v3/reference/teamdrives/get
Удачи!
У меня есть функция, которая возвращает список командных дисков. Я включил это в свои заметки некоторое время назад, и больше не могу отдать должное тому, откуда оно изначально пришло (возможно, это из собственной документации Google). Я извиняюсь, если формат плохой - я новичок в stackru и не могу понять, как отформатировать его по своему вкусу:
/**
* Purpose: Return a list of all Team Drive names
*/
function getGoogleTeamDrives() {
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;
//Logger.log('Team Drive: ' + teamDrive.name);
})
params.pageToken = response.nextPageToken;
} while (params.pageToken);
return teamDrives;
} catch (f) {
Logger.log(f.toString());
}
return false;
}