Gscript读取gmail附件

时间:2018-07-21 10:24:15

标签: google-apps-script google-sheets gmail

我编写了一个代码,该代码从Gmail附件中读取.csv文件,并将其写入到我的有效Google表格中。

此脚本第一次正确运行,但是后续执行仅写入旧数据。当我用不同的值重新发送CSV时,它仍然会写入旧值。

例如:gmail收到以下数据

Name | sal  
Abhi | 400  
Nil  | 600

这将在我的活动表上成功更新。

如果我手动删除此邮件并收到新附件:

Name | sal
Jho  | 600
Maik | 500

这一次,即使旧电子邮件已被删除,我的代码也不会写入以上数据。它仍然会写Abhi 400,nil 600。

下面是代码:

function importCSVFromGmail() {
  var threads = GmailApp.search("STUDENT");
  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(), ",");
    // 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); 
  }
}

0 个答案:

没有答案