[컴] nodejs google drive api 사용하기

 

구글 드라이브 업로드 / api / upload api / how to use google drive api / node client library

nodejs google drive api 사용하기

multipart upload

위의 예제에서 아래처럼 listFiles 부분만 upload 하는 code(uploadFile)로 수정했다.

filename 설정

아래 fileMetadataFiles resource 값이다. Upload file data | Google Drive API 에는 저 값이 resource 를 사용하고 있다.

resource.name 를 이용해서 filename 설정

fs.readFile('credentials.json', (err, content) => {
  if (err) return console.log('Error loading client secret file:', err);
  // Authorize a client with credentials, then call the Google Drive API.
  authorize(JSON.parse(content), uploadFile);
});

...

function uploadFile(auth) {
  const drive = google.drive({version: 'v3', auth});

  var fileMetadata = {
    name: 'test.jpg', // file name that will be saved in google drive
  }
  var media = {
    mimeType: 'image/jpg',
    body: fs.createReadStream('./hello-text.jpg'), // Reading the file
  };

  drive.files.create({
    media: media,
    resource: fileMetadata,
  }, function(err, file){
    console.log(err)
    if (err) {
      // Handle error
      console.error(err.msg);
    } else {
      console.log(file.data.id)
      // if file upload success then return the unique google drive id
    }
  })
 
}

requestBody.name 를 이용해서 filename 설정

fs.readFile('credentials.json', (err, content) => {
  if (err) return console.log('Error loading client secret file:', err);
  // Authorize a client with credentials, then call the Google Drive API.
  authorize(JSON.parse(content), uploadFile);
});

...

function uploadFile(auth) {
  const drive = google.drive({version: 'v3', auth});

  var fileMetadata = {
    name: 'test.jpg', // file name that will be saved in google drive
  }

  var media = {
    mimeType: 'image/jpg',
    body: fs.createReadStream('./hello-text.jpg'), // Reading the file
  };

  drive.files.create({
    media: media,
    requestBody: fileMetadata
  }, function(err, file){
    console.log(err)
    if (err) {
      // Handle error
      console.error(err.msg);
    } else {
      console.log(file.data.id)
      // if file upload success then return the unique google drive id
    }
  })
 
}

Resumable upload

위의 글에 code 가 같이 있지 않은 것으로 봐서는 Resumable upload 는 아직 library 로 구현되어 있지 않은 듯 하다.

See Also

  1. 쿠…sal: [컴] 자신의 Google Drive 에 file upload 하기

댓글 없음:

댓글 쓰기