我正在尝试获取一些我在Gmail帐户上的报告,除非我尝试使用正则表达式,否则一切都很好。
我的目标是从报告中获取信息,并将其粘贴到电子表格中,但是进行一些测试我看到有时,它没有从gmail检索任何内容(如果我在电子表格上粘贴电子邮件正文,我看到两个或者三个和一个空白,二十个电子邮件,再次空白),所以我得到了正则表达式的NULL。
有人能解释一下我做错了什么吗?这是我使用Google App脚本引擎的第一周。
提前致谢。
这是代码。
function recopilarInformes() {
var threads = GmailApp.search('label:informes');
var messages;
var ContentEmail;
var reportDate,CFree,FFree;
for (var i = 0; i < 20 /*threads.length*/; i++) {
messages = threads[i].getMessages()
reportDate = messages[0].getSubject().replace("Informe ","");
ContentEmail = messages[0].getBody();
CFree = /(\d+.\d+)\s.*GB/g(ContentEmail);
FFree = /F<.td><td\s\w+\W+\w+.\w+.>\s(\d+.\d+)/(ContentEmail);
Logger.log(reportDate);
Logger.log(/(\d+.\d+)\s.*GB/g(ContentEmail));
}
修改
我得出结论,尽管我不知道如何准确地使用谷歌应用程序脚本中的gmail对象,但正则表达式并不是实现目标的最佳方式。
这是当前的代码
function recopilarInformes() {
var threads = GmailApp.search('label:informes');
Logger.log(threads);
Logger.log(threads[0].getMessages());
Logger.log(threads[0].getMessages().length);
var messages;// = threads[0].getMessages();
var ContentEmail;// = messages[0].getBody();
var reportDate,CFree,FFree;
for (var i = 0; i < threads.length; i++) {
messages = threads[i].getMessages()
reportDate = messages[0].getSubject().replace("Informe ","");//creo si hubiera más mensajes en la conversación (thread) habría más entradas en este array, que ahora mismso solo contiene una cosa
ContentEmail = messages[0].getBody();
Logger.log(reportDate);
// Logger.log(/(\d+.\d+)\s.*GB/g(ContentEmail));
actualData = ContentEmail.split("------------ Espacio en las unidades -----------")[1];
actualData = actualData.replace(/([^ 0-9,])/g,"").trim().replace(/\s+/g," ").split(" ");
insertValue([reportDate,actualData[0],actualData[1]]);
}
}
答案 0 :(得分:0)
使用for in循环。
function recopilarInformes() {
var threads = GmailApp.search('label:informes');
var message, reportDate;
for (var i in threads) {
message = threads[i].getMessages();
reportDate = message[0].getSubject();
Logger.log(reportDate);
}
}