Скрипт - DriveApp.getFilesByName - получить последнюю версию? - PullRequest
3 голосов
/ 08 октября 2019

Как следует из заголовка

Получил скрипт, извлекающий файл CSV из определенной папки G-Drive, который в настоящее время фильтруется по определенному имени файла.

Можно ли просто сказать 'получить последний файл 'из этой папки вместо поиска по определенному имени?

Запрашиваемая, поскольку несколько копий одного и того же файла будут загружены в одну и ту же папку (имя файла - content.csv, копии заменят егофайл или, без сомнения, будет загружен как контент (1) .csv и т. д.). Таким образом, предполагается, что попытка «получить последний файл» будет лучшим способом?

Сценарий:

  function importCSVFromGoogleDrive() {

  var fSource = DriveApp.getFolderById('xxxxxxxxxxxxx'); // folder where files are saved
  var file = DriveApp.getFilesByName("content.csv").next(); // currently searching by file name
  var csvData = Utilities.parseCsv(file.getBlob().getDataAsString()); csvData.splice(299,csvData.length-300);
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);

}

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Попробуйте:

function getLatest(){
  var optionalArgs = {
    orderBy:"modifiedDate",
    q:"title='TITLE'"
  };
  var files = Drive.Files.list(optionalArgs).items;
  Logger.log(files);
}

При этом будет использоваться API расширенных служб для поиска файлов и их упорядочения по дате. Чтобы использовать этот код, вам нужно включить расширенные сервисы Google , что позволит вам напрямую использовать API. Вам также следует обратиться к File Resource , чтобы узнать, какие свойства доступны. Наконец, files содержит массив файлов, возвращаемых списком.

0 голосов
/ 08 октября 2019

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

https://developers.google.com/drive/api/v3/reference/files/list#orderBy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...