Search code examples
restgoogle-drive-api

Google Drive Rest Api Files export limitation


I use rest api "https://www.googleapis.com/drive/v3/files/fileId/export" "reference page" to get google Doc

I have document size ~ 5 MB when i try to get the file i had the json error :

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "exportSizeLimitExceeded",
        "message": "This file is too large to be exported."
      }
    ],
    "code": 403,
    "message": "This file is too large to be exported."
  }
}

Is there any way to fix this error?


Solution

  • Instead of using this export endpoint you can request exportLinks field in the Files: list:

    curl \
      'https://www.googleapis.com/drive/v3/files/[FILE_ID]?fields=exportLinks' \
      --header 'Authorization: Bearer [ACCESS_TOKEN]' \
      --header 'Accept: application/json'
    

    That will return something like this (these are links I got for a Google Slides presentation):

    {
     "exportLinks": {
      "application/vnd.oasis.opendocument.presentation": "https://docs.google.com/feeds/download/presentations/Export?id=[FILE_ID]&exportFormat=odp",
      "application/pdf": "https://docs.google.com/feeds/download/presentations/Export?id=[FILE_ID]&exportFormat=pdf",
      "application/vnd.openxmlformats-officedocument.presentationml.presentation": "https://docs.google.com/feeds/download/presentations/Export?id=[FILE_ID]&exportFormat=pptx",
      "text/plain": "https://docs.google.com/feeds/download/presentations/Export?id=[FILE_ID]&exportFormat=txt"
     }
    }
    

    And those urls don't have such a hard size limit (I was able to get out ~50mb PDFs)