javascript - 如何使用 Google API Node.js 客户端更新 Google Drive 上的现有文件?

标签 javascript node.js google-drive-api google-api-nodejs-client

我正在使用Google API Node.js client使用 Node.js 程序管理 Google 云端硬盘上的文件。

我已成功使用此库下载文件,现在我想将该文件的更新版本上传回 Google 云端硬盘。

documentation很好地解释了如何在 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);
  }
});

但是,我没有找到任何有关如何用新版本覆盖现有文件的信息。

Stack Overflow 上的其他帖子 like this one ,以及Google docs ,仅说明如何直接使用Rest API更新文件。

我想知道是否有更简单的方法 - 因为提供了一个很好的 API 客户端库,可以让我创建新文件,当然,它也应该让我更新现有文件?

最佳答案

要更新现有文件,请使用drive.files.update(定义here)。

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

请注意,您还可以对 drive.files.createdrive 使用 Promise 接口(interface)和 async/await。文件.更新.

关于javascript - 如何使用 Google API Node.js 客户端更新 Google Drive 上的现有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760689/

相关文章:

javascript - IE 7 中 div 内容丢失换行符

PHP ajax bug 加载更多

node.js - 如何在 worker 之间共享动态对象?

node.js - 带有 NGINX 代理和 websockets 的 Docker swarm

google-chrome-extension - 从 Google Chrome(内容)扩展程序写入 Google 表格

c# - 如何在 C# 中使用 google drive api 为文件设置自定义文件属性

Javascript 加密 SJCL GCM 无法解密我加密的内容

javascript - 如何在 HTML 文档上触发 onkeydown 事件

node.js - 在 mongoose mongodb 中使用 $or 返回部分文档

c# - 谷歌云端硬盘 API v2 : InsertMediaUpload - Null response received