Я делаю запрос на поиск всех файлов, принадлежащих определенному клиенту, в Team Drive.
На основании ответа здесь , это код:
function listFiles (){
var client = 'client'
var teamDriveId = 'id';
var pageToken;
var folders = Drive.Files.list({
corpora: 'teamDrive',
supportsTeamDrives: true,
teamDriveId: teamDriveId,
includeTeamDriveItems: true,
q: "title = 'data'"
});
if (folders.items.length !== 1) {
Logger.log('There is a problem.');
return;
}
var query = "name contains '" + client + // this client only
"' and trashed = false and " + // not in trash
"not mimeType = 'application/vnd.google-apps.folder'"; // no folders
Logger.log(query)
var files, pageToken;
do {
files = Drive.Files.list({
q: query,
maxResults: 100,
pageToken: pageToken,
// required for team drive queries
corpora: 'teamDrive',
supportsTeamDrives: true,
teamDriveId: teamDriveId,
includeTeamDriveItems: true
});
if (files.items && files.items.length > 0) {
for (var i = 0; i < files.items.length; i++) {
var file = files.items[i];
Logger.log('%s (ID: %s) (Modified: %s)', file.title, file.id, file.modifiedDate);
}
}
} else {
Logger.log('No files found.');
}
pageToken = files.nextPageToken;
} while (pageToken);
}
Если я не включаю часть запроса "name contains '" + client'"
, он работает нормально. Если я это сделаю, он возвращает ошибку, в которой говорится: «Неверный запрос».
Глядя на документы , я не понимаю, чем мой синтаксис отличается от того, что там указано.
Я пробовал несколько вариантов по этим направлениям:
"name contains 'client' and trashed = false and not mimeType = 'application/vnd.google-apps.folder'"
"trashed = false and not mimeType = 'application/vnd.google-apps.folder' and name contains 'client'"
Есть идеи, как это исправить?