如何在特定文件夹Google Docs API中按名称搜索文件

问题描述 投票:1回答:1

我正在使用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.');
    }
  });
}
node.js google-api google-drive-api
1个回答
2
投票

我相信您的目标如下。

  • 您要使用文件名在Google云端硬盘上的特定文件夹中搜索文件。
  • 您想使用带有Node.js的googleapis实现此目的。
  • 在您的脚本中,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

参考:

© www.soinside.com 2019 - 2024. All rights reserved.