[英]Listing folders and files within them from particular folder in Google drive
我正在尝试使用 node.js 从谷歌驱动器中的特定文件夹中获取文件和文件夹列表。 但是,我只获取文件夹列表,而不是这些文件夹中的文件。 我究竟做错了什么?
这是我的代码。
app.get('/getFF', (req, res) => {
var folderid = <'my folder id'>;
var query = "'" + folderid + "' in parents";
drive.files.list({q: query, fields: 'files(id)'}, (err, resp) => {
if (err) throw err;
const files = resp.data.files;
if (files.length) {
files.map((file) => {
console.log(file);
});
res.send(files);
} else {
resp.send('No files found');
}
});
})
我相信你的目标和你目前的情况如下。
drive.files.list({q: query, fields: 'files(id)'})
with var query = "'" + folderid + "' in parents"
时,检索folderid
文件夹下的文件和文件夹。 这似乎是当前的规范。 为了检索具有子文件夹的特定文件夹下的所有文件的文件列表,需要从每个子文件夹中检索文件列表。首先,请按如下方式安装库。
$ npm install --save-dev google-drive-getfilelist
或者
$ npm install --global google-drive-getfilelist
const getfilelist = require("google-drive-getfilelist");
const topFolderId = "###"; // Please set the top folder ID.
getfilelist.GetFileList(
{
auth: auth,
fields: "files(id)",
id: topFolderId,
},
(err, res) => {
if (err) {
console.log(err);
return;
}
const fileList = res.fileList.flatMap(({ files }) => files);
console.log(fileList);
}
);
auth
是 const drive = google.drive({version: 'v3', auth
const drive = google.drive({version: 'v3', auth})
。 当上面的脚本运行时, console.log(fileList);
. fileList
是包含子文件夹的特定文件夹下所有文件的文件列表。
[ { id: '###' }, { id: '###' }, , , , ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.