Gmail 계정에있는 일부 보고서를 가져 오려고합니다. 정규식을 사용하려고 할 때를 제외하고는 모든 것이 정상적으로 보입니다.GmailApp 메일 가져 오기
목표는 보고서에서 정보를 가져와 스프레드 시트에 붙여 넣는 것입니다.하지만 일부 테스트를 수행 할 때 가끔씩 Gmail에서 아무 것도 검색하지 못합니다 (이메일 본문을 스프레드 시트에 붙여 넣으면 두 개 또는 세 개, 공백, 스무 개 전자 메일, 공백) 다시 정규식의 결과로 NULL을 얻습니다.
누구나 내가 뭘 잘못 설명 할 수 있을까요? Google App 스크립팅 엔진을 사용한 첫 주입니다. 사전에
감사합니다.
다음은 코드입니다. 내가 정확히 Google 앱 스크립트의 Gmail의 객체를 사용하는 방법을 모르는에도 불구하고
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));
}
편집이
나는 결론에 도달, 그 정규식 내 목표를 acomplys하는 가장 좋은 방법은 아닙니다.
여기에 루프에 대한 현재 코드
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]]);
}
}
apps 스크립트 태그에서 앱 엔진 태그를 변경했습니다. – voscausa
감사합니다. 어느 것이 맞는지 확실하지 않았습니다. – Danielo515
정규식이나 GmailApp에 문제가 있는지 여부는 확실하지 않습니다. 여기에 두 줄을 기록하고 있습니다. 날짜와 내용. 이 두 줄 모두 20 개의 이메일을 건너 뛰는가? 또는 콘텐츠 라인 만 건너 뛸 수 있습니까? –