Google Drive API - Files Uploaded as Empty Shells via HTTP Module

Hi everyone,

Over the course of several weeks, I’ve been working on an extensive project using Make.com to automate file uploads to Google Drive. It’s been a long saga, filled with troubleshooting, head-scratching, and iterative testing. Here’s a quick summary of where I’m at and what issues I’m currently facing.

Background

The project is a bit complex and involves several layers of automation:

  1. Retrieving data and files from external sources.
  2. Checking if specific folders (Deals, Private, Project, etc.) exist in Google Drive.
  3. Creating missing folders dynamically when needed.
  4. Uploading files into specific folders within Google Drive.

I’ve been successful with most of these steps, but the final hurdle has been uploading the actual files. Currently, my scenario creates shell files in Google Drive—files with the correct name and MIME type but no content.

(My previous posts for this project)
Uploading Multiple Files from HTTP Array to Google Drive
Google Drive OAuth for Scale

What I’ve Tried

Here’s a quick rundown of the approaches I’ve taken:

  • Using Resumable Uploads: I managed to get the POST module to initiate the upload session successfully and retrieve the unique resumable upload URLs. However, the subsequent PUT module isn’t dynamically picking up the Location value from the POST module’s output.
  • Multipart Uploads: I followed Google’s multipart upload documentation to the letter (including creating proper boundaries and combining metadata and content), but the files still arrive as empty shells.
  • Direct Media Uploads: The simplest approach, media uploads, also led to the same shell file result.

Throughout this process, I’ve referenced Google’s upload documentation extensively.

Current Challenge

I’ve identified that the HTTP module in Make.com isn’t dynamically retrieving the unique upload session URLs for the files in the array. Specifically:

  • No matter which methods I’ve tried so far, the resulting uploads (If sent) are still just empty placeholders in the specified Google Drive folder.
  • The resumable HTTP modules (both Post & Put together) returns with a timeout.

Next Steps

I’m at a bit of a loss. I’ve poured over the logs, double-checked the JSON payloads, and tested countless iterations of the setup, but I still can’t get actual content to upload into the files.

I do have a help ticket in on this one, but if anyone in the community has tackled this kind of issue before or has any insight into what might be going wrong, I’d greatly appreciate your input.

I’ve attached the blueprint minus the client ID and secret of course.
blueprint (5).json (1.5 MB)

Thanks in advance for any help or suggestions!

Cheers,
-Jonathan

Hello @Jonathan_Killam,

Google and Microsoft APIs are very irritating to work with, so I understand your frustration!

Here is my suggestion, which has helped me before in troubleshooting stuff like this…

  • Download the Make Dev Tool Chrome Extension.
  • Use a standard Google Drive Upload File module to upload a test file of your choosing
  • Use the Dev Tool to examine all the calls the module made, it pretty much gives you enough to replicate the calls in another tool, like Postman, except the credentials are hidden.
  • You may be able to compare that to your Make modules and figure out what is going on.

Good luck!