且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Node.js中使用REST API将文件上传到Google Drive

更新时间:2023-01-07 16:58:45

我成功地通过修改


I am trying to upload a file to google drive using rest API(insert) in node.js, I have access_token and refresh_token. how can I upload without any sdk.

I was successful in testing this NodeJS upload by modifying the NodeJS basic upload sample a bit and mixing it with the already available NodeJS Quickstart

Here's the upload function:

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

You can use the NodeJS Quickstart as reference for authorization. Change listFiles function name:

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

to the name of your upload function, in this case:

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

A sucessful upload on my Google drive: