Как обновить существующий файл на Google Диске с помощью клиента Google API Node.js? - PullRequest
0 голосов
/ 25 июня 2019

Я использую клиент Google API Node.js для управления файлами на Google Диске с помощью программы Node.js.

Мне удалось загрузить файл с помощью этой библиотеки, сейчасЯ хочу загрузить обновленную версию файла обратно на Google Диск.

Документация очень хорошо объясняет, как создать новый файл на Google Диске:

var fileMetadata = {
  'name': 'photo.jpg'
};
var media = {
  mimeType: 'image/jpeg',
  body: fs.createReadStream('files/photo.jpg')
};
drive.files.create({
  resource: fileMetadata,
  media: media,
  fields: 'id'
}, function (err, file) {
  if (err) {
    // Handle error
    console.error(err);
  } else {
    console.log('File Id: ', file.id);
  }
});

Однако я не смог найти никакой информации о том, как перезаписать существующий файл новой версией.

Другие сообщения о переполнении стека , как этот, а также Google docs , объясняют только, как использовать Rest API напрямую для обновления файлов.

Мне интересно, есть ли более простой способ - так как естьхорошая клиентская библиотека API, которая позволяет мне создавать новые файлы, конечно, она также должна позволять мне обновлять существующие?

1 Ответ

2 голосов
/ 25 июня 2019

Чтобы обновить существующий файл, используйте drive.files.update (определение здесь ).

drive.files.update({
  fileId: file.id,
  resource: fileMetadata,
  media: media
}, (err, file) => {
  if (err) {
    // Handle error
    console.error(err);
  } else {
    console.log('File Id: ', file.id);
  }
});

Обратите внимание, что вы также можете использовать интерфейс обещаний и async / awaitдля drive.files.create и drive.files.update.

...