我正在使用谷歌文档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.');
}
});
}
我相信你的目标如下。
- 您想使用文件名搜索Google Drive上特定文件夹中的文件
- 您希望使用Node.js中的googleapi来实现这一点
- 在您的脚本中,
auth
可用于使用驱动器API中的files.list方法
对此,这个答案如何?
我可以确认您正在使用驱动器API v3。那么下面的修改怎么样?
发件人:
q: 'name = "NAMEHERE" and parents in "FOLDERID"',
收件人:
q: 'name = "NAMEHERE" and "FOLDERID" in parents',
或
q: "name = 'NAMEHERE' and 'FOLDERID' in parents",
- 请像使用
'FOLDERID' in parents
一样使用in parents
。- 在上述修改的查询中,检索到
FOLDERID
文件夹中文件名为NAMEHERE
的文件。在这种情况下,当文件夹中有多个文件具有相同的文件名时,将检索这些文件
- 在上述修改的查询中,检索到
- 当以上修改反映到您的
listFiles
脚本中时,我可以确认该脚本有效。在这种情况下,它假设可以进行授权。如果你想知道授权的脚本,请查看Node.js Quickstart
参考文献:
- 文件:列表
- 搜索文件