Existe um extra chamado " Salvar e-mails e anexos "que você pode usar para fazer o download de mensagens de e-mail e anexos de arquivos do Gmail para o Google Drive automaticamente. Mas os e-mails são arquivados como arquivos PDF. O complemento é totalmente gratuito, mas também há uma versão premium que oferece alguns benefícios adicionais.
Tudo o que você precisa fazer é criar visualmente uma regra, semelhante a como criar filtros no Gmail e, em seguida, especificar uma pasta na sua unidade do Google. O complemento é executado em segundo plano e fará o download automático dos e-mails correspondentes para a pasta do Drive correspondente
Internamente, há um script do Google que está realizando o trabalho. Ele se conecta ao seu Gmail, puxa os tópicos correspondentes e os salva no Google Drive por meio das várias APIs de script do Google Apps
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<threads.length; x++) {
var message = threads[x].getMessages()[0];
var desc = message.getSubject() + " #" + message.getId();
var att = message.getAttachments();
for (var z=0; z<att.length; z++) {
try {
file = folder.createFile(att[z]);
file.setDescription(desc);
}
catch (e) {
Logger.log(e.toString());
}
}
threads[x].addLabel(moveToLabel);
}
}
function configure() {
reset();
ScriptApp.newTrigger("sendToGoogleDrive").timeBased().everyMinutes(5).create();
Browser.msgBox("Initialized", "The program is now running.", Browser.Buttons.OK);
}
function onOpen() {
var menu = [
{ name: "Step 1: Authorize", functionName: "configure" },
{ name: "Step 2: Run Program", functionName: "configure" },
{ name: "Uninstall (Stop)", functionName: "reset" }
];
SpreadsheetApp.getActiveSpreadsheet()
.addMenu("Gmail Attachments", menu);
}
function reset() {
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]);
}
}
Fonte Espero que esta resposta ajude!