Search code examples
javascriptgoogle-drive-apifrontendbase64google-workspace

Issue getting google workspace file (JavaScript)


Im calling request from google workspace file with gapi using this code

gapi.client.drive.files.export({
  fileId: fileId,
  mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
})

from that code i get response back of base64 string to convert as a blob but when i open file in google docs or msword file is corrupt and not working but if i change mimeType into application/pdf it working

same thing also happen in if i request file with application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

am i doing something wrong here or i there is other way to getting file workspace

md5Checksum is not available


Solution

  • Finally i found solution for this issue according to this official documentation we have two type we can download from google drive.

    here my code how i request for file

    const res = await drive
                .files
                .export({
                        fileId: fileId,
                         mimeType: yourMimeTarget
                        })
                        .then(res => res)
    const blob_file = fetch(`data:${yourMimeTarget};base64,${btoa(res.body)}`)
                     .then(res => res.blob())
    

    so after you fetch google workspace file you will get base64 string than you can convert it into blob