我正在使用google docs api的V3,并试图弄清楚如何通过指定文件夹中的名称搜索文件。
这是我目前拥有的:
function listFiles(auth) {
const drive = google.drive({version: 'v3', auth});
drive.files.list({
q: 'name = "NAMEHERE" and parents in "FOLDERID"',
pageSize: 10,
fields: 'nextPageToken, files(id, name, webViewLink)',
}, (err, res) => {
if (err) return console.log('The API returned an error: ' + err);
const files = res.data.files;
if (files.length) {
console.log('Files:');
files.map((file) => {
console.log(`${file.name} ${file.webViewLink}`);
});
} else {
console.log('No files found.');
}
});
}
我相信您的目标如下。
auth
可用于使用Drive API中files.list的方法。为此,这个答案如何?
我可以确认您正在使用Drive API v3。那么下面的修改如何?
q: 'name = "NAMEHERE" and parents in "FOLDERID"',
q: 'name = "NAMEHERE" and "FOLDERID" in parents',
或
q: "name = 'NAMEHERE' and 'FOLDERID' in parents",
in parents
一样使用'FOLDERID' in parents
。NAMEHERE
文件夹中文件名为FOLDERID
的文件。在这种情况下,如果文件夹中有多个文件名相同的文件,则将对其进行检索。listFiles
脚本中时,我可以确认该脚本有效。在这种情况下,它假定可以完成授权。如果您想了解授权脚本,请检查Node.js Quickstart。