Ler e processar um CSV direto do gmail

Com o Google Apps Script dá para fazer muita coisa legal. Ontem descobri que é possível processar um CSV direto do email e criar um sheets com o conteúdo. Um pouco de conceito e um pouco de código.

O problema que eu queria resolver: utilizamos um sistema de pesquisa, porém a análise é feita no sheets. Uma vez por dia exportávamos a base (que vem por um arquivo anexo), baixávamos e subíamos no sheets. Até aí, ok, uma vez por dia. Mas pra quem é dev, ter que fazer a mesma coisa mais de duas vezes, já pensa em automatizar.

Pois bem. O Google Apps Script tem biblioteca pronta para processar o CSV. Bastava criar um código que lesse o email e processasse o CSV. Veja o código abaixo:

function processCSV() {
  var threads = GmailApp.search("Assunto do Email");
  var message = threads[0].getMessages()[0];
  var attachment = message.getAttachments()[0];
  if (attachment.getContentType() === "text/csv") {
    var sheet = SpreadsheetApp.getActiveSheet();
    var csvData = Utilities.parseCsv(attachment.getDataAsString(), ";");
    sheet.clearContents().clearFormats();
    sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData); 
  }
}

Só isso. Com 11 linhas é possível buscar um email com um ‘Assunto do Email’, pegar o mais recente, ver o conteúdo e processar com uma chamada “Utilities.parseCsv” e salvar o conteúdo na planilha ‘sheet.getRange…’.

Gostou da dica? Comenta aí.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *