【问题标题】:Upload file to google drive using REST API in Node.js使用 Node.js 中的 REST API 将文件上传到谷歌驱动器
【发布时间】:2017-11-14 17:57:42
【问题描述】:

我正在尝试使用 node.js 中的 rest API(insert) 将文件上传到谷歌驱动器,我有 access_token 和 refresh_token。如何在没有任何 sdk 的情况下上传。

【问题讨论】:

    标签: node.js google-drive-api


    【解决方案1】:

    通过稍微修改NodeJS basic upload sample 并将其与已经可用的NodeJS Quickstart 混合,我成功地测试了这个NodeJS 上传

    上传功能如下:

    function uploadFile(auth){
      var drive = google.drive('v3');
      var fileMetadata = {
             'name': 'uploadImageTest.jpeg'
          };
      var media = {
              mimeType: 'image/jpeg',
              //PATH OF THE FILE FROM YOUR COMPUTER
              body: fs.createReadStream('/usr/local/google/home/rrenacia/Downloads/noogui.jpeg')
          };
    
          drive.files.create({
              auth: auth,
              resource: fileMetadata,
              media: media,
              fields: 'id'
          }, function (err, file) {
          if (err) {
              // Handle error
              console.error(err);
          } else {
              console.log('File Id: ', file.id);
          }
       });
    }
    

    您可以使用 NodeJS 快速入门作为授权参考。更改listFiles函数名:

    authorize(JSON.parse(content), listFiles);
    

    到您的上传函数的名称,在这种情况下:

    authorize(JSON.parse(content), uploadFile);
    

    在我的 Google 驱动器上成功上传:

    【讨论】:

    • 如何在 web driver.google.com 中显示所有文件的列表。我用服务电子邮件上传,所以主电子邮件不显示文件。
    • 什么是fields: 'id',如何上传驱动器上已经存在的文件夹?
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2013-04-20
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      相关资源
      最近更新 更多