Экспорт файла Google Drive в nodeJS - PullRequest
0 голосов
/ 22 января 2020

Я хочу экспортировать файл с диска Google, но раньше я не знал тип файла. Я использовал drive.files.export, но для этого требуется mimeType, которого я не знаю. mimeType из drive.files.get нельзя использовать в экспорте. Как я могу скачать файл, если у меня есть только идентификатор файла?

1 Ответ

0 голосов
/ 22 января 2020

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

Если файл для документа G Suite , вам придется использовать files.export и укажите, в какой mimeType вы хотите экспортировать файл. См. Здесь для ознакомления с различными документами Google и поддерживаемыми типами MIME для экспорта. Если вы хотите экспортировать ваш файл в разные типы MIME, в зависимости от того, какой тип он находится на диске, вы можете сначала выполнить files.get и, в зависимости от того, какой mimeType файл является файлом и на основе ссылочной таблицы, экспортировать это в соответствующем виде. Например, если MIME-тип вашего файла - application/vnd.google-apps.spreadsheet, вы можете экспортировать его в application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

Если файл не является документом G Suite, вы должны использовать files.get для загрузки и установки параметра alt на media, как объяснено в официальной документации . Вот фрагмент кода, соответствующий этому в Node.js, как указано там:

var fileId = 'your-file-id';
var dest = fs.createWriteStream('/tmp/photo.jpg');
drive.files.get({
  fileId: fileId,
  alt: 'media'
})
    .on('end', function () {
      console.log('Done');
    })
    .on('error', function (err) {
      console.log('Error during download', err);
    })
    .pipe(dest);

Итак, подведя итог, я хотел бы сначала получить mimeType файла, который вы хотите экспортировать через files.get и на основе этого mimeType (в зависимости от того, является ли файл документом G Suite и какого типа документа), загрузить файл тем или иным способом.

Ссылка:

Надеюсь, это любая помощь.

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