Я использую библиотеку 'googleapis' в NodeJS, и я пытаюсь вернуть список файлов и папок в текущей папке, но вместо этого обнаруживаю, что drive.files.list
возвращает все файлы, которым пользователю были предоставлены разрешения для чтения.Google API, drive.files.list и только возвращаемые дочерние файлы
Моя цель - загрузить структуру папок ниже определенной папки, которая затем может быть использована приложением NodeJS значимым образом.
код, я использую это следующим образом:
const fs = require('fs');
const google = require('googleapis');
const OAuth2 = google.auth.OAuth2;
const key = require('./key.json');
const jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
['https://www.googleapis.com/auth/drive'],
null
);
const drive = google.drive({
version: 'v3',
auth: jwtClient
});
jwtClient.authorize(function (err, tokens) {
if (err) {
console.log(err);
return;
}
// Make an authorized request to list Drive files.
drive.files.list({
includeRemoved: false,
spaces: 'drive',
fileId: 'the-file-id-of-the-folder'
}, function (err, resp) {
if (!err) {
var i;
var files = resp.files;
for (i=0; i<files.length; i++) {
if (files[i].mimeType !== 'application/vnd.google-apps.folder') {
console.log('file: ' + files[i].name);
} else {
console.log('directory: ' + files[i].name);
}
console.log(files[i]);
}
} else {
console.log('error: ', err);
}
});
});
Примечание я сделал попробовать drive.files.get
конечной точки, без параметра alt: 'media'
, но это, кажется, не возвращает никаких больше метаданных, что drive.files.list
вызов.