Поиск Google Drive для файла

Это легко сделать с помощью нескольких модульных операций. К сожалению, я оставил свой персональный код gcd на другой машине (в далекой галактике), но вы можете найти источник в пакетах numbers или pracma.

Кстати, вот хороший способ найти существующий код: library(sos); ???gcd

0
задан DaImTo 21 February 2019 в 08:06
поделиться

1 ответ

  • Вы хотите получить файлы с именем файла, включая строку ShowMeCC.

Если мое понимание верно, как насчет этого обходного пути?

Официальный документ гласит следующее.

Оператор содержимого выполняет только сопоставление префиксов для заголовка. Например, заголовок «HelloWorld» будет соответствовать, поскольку заголовок содержит «Hello», но заголовок не содержит «World».

Таким образом, к сожалению, файл 2018-08-06_Miller_576132063_17.25.pdf не может быть напрямую получен с помощью title contains '576132063'. Таким образом, в качестве обходного пути, рассматривается следующий обходной путь.

  • Поиск файла после того, как все файлы были извлечены.

В этом случае сначала требуется получить все файлы. Но это высокая стоимость. Чтобы снизить стоимость, я хотел бы предложить двухэтапный поиск.

  1. Получить файлы, используя запрос fullText contains '576132063'.
    • fullText contains '576132063' может искать имя файла как 2018-08-06_Miller_576132063_17.25.pdf.
  2. Получить файл из файлов, извлеченных fullText contains '576132063'.

С помощью этого потока не требуется извлекать все файлы. Таким образом, стоимость становится ниже, чем стоимость вышеуказанного метода.

Изменен сценарий 1:

function FileFinder() {
  var ShowMeCC = '576132063';
  var files = DriveApp.searchFiles('fullText contains "' + ShowMeCC + '"'); // Modified
  // OR var files = DriveApp.getFolderById('0B1-kfT4ZOAitb1lZSzM5YXR6czA').searchFiles('fullText contains "' + ShowMeCC + '"'); // Modified
  while (files.hasNext()) {
    var file = files.next();
    var fnaMe = file.getName();
    if (fnaMe.indexOf(ShowMeCC) > -1) { // Added
      var fID = file.getId();
      Logger.log(fnaMe);
      Logger.log(fID);
    }
  }
}

Ссылка:

Если это изменение не было результат, который вы хотите, я прошу прощения.

Добавлено:

В качестве еще одного примера, если вы хотите извлечь файл из определенной папки, например DriveApp.getFolderById('0B1-kfT4ZOAitb1lZSzM5YXR6czA'), вы также можете использовать следующий скрипт. Когда количество файлов в папке невелико, стоимость этого метода не станет высокой.

Изменен сценарий 2:

function FileFinderaaa() {
  var ShowMeCC = '576132063';
  var files = DriveApp.getFolderById('0B1-kfT4ZOAitb1lZSzM5YXR6czA').getFiles();
  while (files.hasNext()) {
    var file = files.next();
    var fnaMe = file.getName();
    if (fnaMe.indexOf(ShowMeCC) > -1) {
      var fID = file.getId();
      Logger.log(fnaMe);
      Logger.log(fID);
    }
  }
}
0
ответ дан Tanaike 21 February 2019 в 08:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: