Postman multipart file upload to Google Drive API - getting parse error

I’m trying to send files to Google Drive using their API through Postman with multipart requests. I want to specify the filename and which folder it goes into but I keep getting errors.

My current setup:

  • Using POST request to Google Drive files endpoint
  • Content-Type set to multipart/form-data
  • Including file binary data and metadata

The error I’m getting:

{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "parseError", 
                "message": "Parse Error"
            }
        ],
        "code": 400,
        "message": "Parse Error"
    }
}

I think the issue might be with how I’m formatting the multipart request or the metadata structure. Has anyone successfully uploaded files to Google Drive through Postman? What’s the correct way to structure the request body and headers?

The metadata JSON structure is your problem. I wasted hours on this exact error before figuring out Google Drive wants the parent folder ID as an array. Your metadata needs to be {“name”: “filename.ext”, “parents”: [“folder_id_here”]} - parents is always an array, even with just one folder. Also check if your auth token’s still good since expired tokens throw parse errors instead of proper auth errors. In Postman’s Body tab, use form-data with two keys: “metadata” (set Content-Type to application/json with your file details) and “media” (your actual file). This setup works every time for me.

Had the same issue a few weeks back. I was missing uploadType=multipart in the URL query string. Also check if Postman’s auto-complete is screwing up your boundary formatting. Switch to raw body instead of form-data and manually write the multipart structure with proper \r\n line endings.

Parse errors usually happen when the multipart boundaries aren’t formatted right. I ran into this exact issue last month during an integration. Here’s what fixed it for me: manually set the Content-Type header to multipart/related; boundary=foo_bar_baz instead of letting Postman auto-generate it. Make sure you send the metadata first with Content-Type: application/json, then the actual file with its proper content type. Also check that you’re hitting the upload endpoint https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart - not the regular files endpoint. Your boundary separators need to be exactly --foo_bar_baz with proper line breaks between sections.