Categories
Code

Send to Google Drive with Google Apps Script

This Google Apps Script will automatically save Gmail attachments to Google Drive. It also has a premium version that supports nested Gmail labels, it can monitor multiple Gmail label and saves attachments in logical Google Drive folders.


function sendToGoogleDrive() { 
  
  var sheet   = SpreadsheetApp.getActiveSheet();
  
  var gmailLabels  = sheet.getRange("D4:D4").getValue();  
  var driveFolder  = sheet.getRange("D5:D5").getValue();  
  var archiveLabel = sheet.getRange("D6:D6").getValue();
  
  var moveToLabel =  GmailApp.getUserLabelByName(archiveLabel);
  
  if ( ! moveToLabel ) {    
    moveToLabel = GmailApp.createLabel(archiveLabel);    
  }

  var filter = "has:attachment -label:" + archiveLabel + " label:" + gmailLabels;
  
  var threads = GmailApp.search(filter, 0, 5);  

  var folder = DriveApp.getFoldersByName(driveFolder);
  
  if (folder.hasNext()) {
    folder = folder.next();
  } else {
    folder = DriveApp.createFolder(driveFolder);
  }

  for (var x=0; x