我正在研究一个R& D项目,我使用Linux命令收集服务器端统计信息并将其输出到我的邮件中。现在,我的计划是阅读parse
Gmail
内容,其中包含我的服务器数据(如下所示)并将其解压缩到Google Sheets
。我的Gmail内容如下所示,其中包含行和列中的数据。
Date&Time JVM PID CPU MEM FGC
03-09-2017-09-08-PM abc01_xzy01 12345 1.2% 2.75 3
03-09-2017-09-08-PM abc01_xzy01 12345 3.5% 2.71 4
03-09-2017-09-08-PM abc01_xzy01 12345 4.6% 2.79 5
我的想法是以完全相同的方式进入Google Sheet
。我正在使用下面的代码,但它无法读取内容。我在想它是否与使用的RegExp有关。您能告诉我代码必须在if
语句中编写的确切内容。
function parseEmailMessages(start) {
start = start || 0;
var threads = GmailApp.getInboxThreads(start, 100);
var sheet = SpreadsheetApp.getActiveSheet();
for (var i = 0; i < threads.length; i++) {
var tmp,
message = threads[i].getMessages()[0],
// subject = message.getSubject(),
subject = "SERVER TEST REPORT",
content = message.getPlainBody();
if (content) {
tmp = content.match(/Date&Time:\s*([A-Za-z0-9\s]+)(\r?\n)/);
var username = (tmp && tmp[1]) ? tmp[1].trim() : 'No Date & Time';
tmp = content.match(/JVM:\s*([A-Za-z0-9\s]+)(\r?\n)/);
var username = (tmp && tmp[1]) ? tmp[1].trim() : 'No JVM';
sheet.appendRow([username, email, subject, comment]);
}
}
}
我的输出只会在Google表格中打印No Date & Time
和No JVM
。我想打印邮件中给出的列和行中的名称和数据。有人可以帮我解决这个问题并告诉我错误是什么以及如何像预期的那样提取数据。提前谢谢。
答案 0 :(得分:1)
如果您的电子邮件中的所有内容都是您在上面发布的内容,则会将其放入您的电子表格中。更改电子邮件主题和工作表名称以满足您的需求。
QT_PATH