无法读取属性“getMessages”-Google 脚本将 csv 附件从 Gmail 导入 Google 表格
2022-02-18
931
我使用 此解决方案 已有一段时间,用于将数据从 Gmail 导入 Google 表格。现在我想将相同的解决方案应用于不同的电子邮件线程。我只更改了 Gmail 中的标签过滤器,但无论我做什么,都会收到以下错误:
TypeError: Cannot read property 'getMessages' of undefined
importReport @ import revenue product.gs:3
我使用的解决方案是:
function importProduct() {
var threads = GmailApp.search("ENTER LABEL HERE");
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];
var sheet = SpreadsheetApp.openById("ENTER GOOGLE SHEETS ID HERE").getSheetByName("ENTER GOOGLE SHEETS NAME HERE");
var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
sheet.clearContents().clearFormats();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
有人知道这是怎么回事以及我该如何解决这个问题吗?谢谢!
Execution log
2:33:28 PM Notice Execution started
2:33:29 PM Error
TypeError: Cannot read property 'getMessages' of undefined
importProduct @ import revenue product.gs:3
2个回答
尝试一下
function importProduct() {
var requete ="{label:yourLabelHere}"
var threads = GmailApp.search(requete);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages)
}
}
Mike Steelson
2022-02-18
非常感谢大家的帮助!我终于注意到哪里出了问题……我使用了不同的邮箱,导致脚本无法读取正确的电子邮件……很高兴终于找到了此设置中的错误 :)
roosbot
2022-02-23