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() ); }); }); }); };