J'ai donc construit une feuille de calcul qui obtient 2 rapports de 2 sources différentes, puis les importe dans la feuille. Un des rapports est un fichier CSV qui est envoyé à mon email toutes les heures.en utilisant Google Script pour obtenir la pièce jointe de Gmail
Le script que j'ai fonctionne ... surtout. Il va vérifier mon email pour le fil, tirez le message, puis importez la pièce jointe à la feuille. Le problème est que lorsque l'email suivant est reçu l'heure suivante et que le script s'exécute à nouveau, il ne tire pas la pièce jointe la plus récente, il ne tire que le premier. J'ai même essayé de déplacer le message dans ma corbeille à chaque fois qu'il fonctionne, mais il va quand même le sortir de la poubelle. Voici mon code.
function importReport() {
var threads = GmailApp.search('in:inbox from:"[email protected]"');
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];
attachment.setContentType('text/csv');
// Is the attachment a CSV file
if (attachment.getContentType() === "text/csv") {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("RawReport");
var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
// Remember to clear the content of the sheet before importing new data
sheet.clearContents().clearFormats();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
GmailApp.moveMessageToTrash(message);
}
}
L'objectif est de tirer tout le fil, puis importer la pièce jointe la plus récente, un conseil?
Ceci l'a corrigé! Merci beaucoup! –