google-apps-script - Gscript 读取 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);
}
}
解决方案
推荐阅读
- django-models - 如何将自定义字段添加到 ModelSerializer?
- c++ - 模板函数调用参数构造函数
- angular - ngx-bootstrap 嵌套下拉项绑定
- node.js - 如何使用 grpc 的无聊功能来处理我的 nodejs 程序
- c# - 在.Net 5.0 中配置服务时如何使用配置数据?
- python - 将变量加载到数据框中
- php - 当我尝试使用 phpMailer 从 php 发送电子邮件时,如何解决 SMTP 连接错误?POP/IMAP
- angular - 生成组件未在应用程序模块中以角度创建引用
- cudf - 使用 cudf 读取一个巨大的 csv 文件
- python - 装饰多个 Python 函数