-1

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.

2 Answers2

1

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:

enter image description here

ReyAnthonyRenacia
  • 17,219
  • 5
  • 37
  • 56
0

Check this out Node.js QuickStart for Google Drive

Nasiruddin Saiyed
  • 1,438
  • 1
  • 13
  • 31