How to get downloadable URLs for all files in a Google Drive directory
This blog post guides readers through a simple yet effective method to generate downloadable URLs for files in Google Drive, utilizing Google Sheets and a custom script
I recently uploaded numerous files to Google Drive and organized them into a directory. My goal was to obtain downloadable URLs for each file. However, I discovered that Google Drive doesn't offer this feature directly.
After some research, I stumbled upon an excellent article by Kurian George Cheripurathu - Retrieve File Names and URLs of a Google Drive Folder using Google Apps Script and Google Sheets. Method to send personalised email attachment in bulk emails. This guide helped me immensely, solving about 90% of my problem.
The only issue was that the generated URLs led to a View the file
modal, rather than to direct download.
I found a solution and will simplify the process here, incorporating some personal insights:
- Navigate to Google Sheets at Google Sheets. You might wonder why we need Sheets. It's because it's a straightforward way to display all URLs without dealing with authorization complexities you would while integrating with Google SDKs.
- Create a new Sheet document.
- In the top menu bar, find the
Extensions
tab (second from the right), hover over it, and click onApp Scripts
. - This action opens the code editor. Here, paste the following JavaScript code:
This code functions similarly to the original, but with a crucial difference: it replaces drive.google.com/open
with drive.google.com/uc?export=download
, creating URLs that automatically download or display your files.
- Save your changes using the diskette 💾 icon. There's no need to deploy or run it—simply save and return to your Sheet.
- Refresh the Sheet. It may take a few attempts before the "Get Folder Details" menu item appears.
- Once visible, click on it. The app will request permission access—grant it.
- You'll encounter a warning about the app being unpublished and potentially insecure. This is standard for private, local applications and can be safely bypassed by clicking
Advanced
and proceeding. - A popup will ask for the directory link. Copy this from your Google Drive's URL bar and paste it into the prompt.
- In a moment, the script will list all file URLs from the directory.
Tip: If your Google Drive and Sheets accounts differ, ensure the folder is shared with the account used for Sheets.
Published on December 31, 2023 • 3 min read