Ich benutze die "googleapis" Bibliothek in NodeJS und ich versuche, die Liste der Dateien und Ordner im aktuell angegebenen Ordner zurückgeben, aber ich finde drive.files.list
zurück Alle Dateien, für die dem Benutzer Berechtigungen zum Lesen erteilt wurden.Google API, drive.files.list und nur untergeordnete Dateien zurückgeben
Mein Ziel ist es, die Ordnerstruktur unter einem bestimmten Ordner herunterladen zu können, die dann von der NodeJS-Anwendung sinnvoll genutzt werden kann.
Der Code ich verwende ist wie folgt:
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);
}
});
});
Hinweis versuche ich habe den drive.files.get
Endpunkt, ohne die alt: 'media'
Parameter, aber es scheint keine weiteren Metadaten, die das drive.files.list
Gespräch zurückzukehren.