Как искать файлы по имени внутри указанной c папки Google Docs API - PullRequest
2 голосов
/ 08 мая 2020

Я использую V3 api документации Google и пытаюсь понять, как искать файл по имени внутри указанной папки.

Это то, что у меня сейчас есть:

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.');
    }
  });
}

1 Ответ

3 голосов
/ 08 мая 2020

Я считаю, что ваша цель заключается в следующем.

  • Вы хотите выполнить поиск файла в указанной c папке на Google Диске, используя имя файла.
  • Вы хотите достичь этого используя googleapis с Node.js.
  • В вашем скрипте auth можно использовать для использования метода files.list в Drive API.

Для этого, как насчет этого ответ?

Я могу подтвердить, что вы используете 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 Быстрый запуск .

Ссылки:

...