Download Gmail Attachments to Google Drive with Apps Script
The Save Gmail Attachments add-on for Google Drive downloads file attachments from an email message to a specific folder in your Google Drive. Internally, it uses Google Apps Script and the Advanced Drive Service to fetch the attachments and save them to Drive.
Here’s a sample snippet from the Gmail add-on that shows how you can use GmailApp service with Google Drive in Apps Script to create a copy of any Gmail attachment inside Google Drive.
We’ve set the includeAttachments option to true and includeInlineImages to false to only download regular (non-inline) attachments and not inline images.
export const saveGmailtoGoogleDrive = () => {
const folderId = 'Google_Drive_Folder_Id';
const searchQuery = 'has:attachments';
const threads = GmailApp.search(searchQuery, 0, 10);
threads.forEach((thread) => {
const messages = thread.getMessages();
messages.forEach((message) => {
const attachments = message.getAttachments({
includeInlineImages: false,
includeAttachments: true,
});
attachments.forEach((attachment) => {
Drive.Files.insert(
{
title: attachment.getName(),
mimeType: attachment.getContentType(),
parents: [{ id: folderId }],
},
attachment.copyBlob()
);
});
});
});
};
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory