#作成動機
なんとなくやってみたかった
#コード
Code.gs
function createEvents(mail) {
var calendar = CalendarApp.getDefaultCalendar();
var title = mail['subject'];
var startTime = new Date(mail['date']);
var endTime = new Date(mail['date']);
var location = '';
if(mail['duedate']) {
endTime = new Date(mail['duedate']);
}
if(mail['location']) {
location = mail['location'];
}
var option = {
description: mail['body'],
location: location
}
console.log("add event detail")
console.log("title = " + title)
console.log("start = " + startTime)
console.log("end = " + endTime)
console.log("body = " + mail['body'])
console.log("location = " + location)
//return calendar.createEvent(title, startTime, endTime, option);
calendar.createEvent(title, startTime, endTime);
}
function extractDueDate(target,pattern) {
var regexp = new RegExp(pattern,'i')
var match_result = target.match(regexp);
if( match_result.length > 0 ) {
return match_result
} else {
return ""
}
}
function fetchContactMail(filterPattern) {
var now_time= Math.floor(new Date().getTime() / 1000) ;
var time_term = now_time - ((60 * get_interval) + 3);
var strTerms = '(is:unread after:'+ time_term + ')';
var myThreads = GmailApp.search(strTerms);
var myMsgs = GmailApp.getMessagesForThreads(myThreads);
var valMsgs = [];
for(var i = 0; i < myMsgs.length;i++){
var contents = myMsgs[i][0].getFrom() + myMsgs[i][0].getSubject() + myMsgs[i][0].getPlainBody()
regexp = new RegExp(filterPattern,'i')
if(! contents.match(regexp) )
{
continue
}
var mailcontents = {
"date": myMsgs[i][0].getDate()
, "from" : myMsgs[i].slice(-1)[0].getFrom()
, "subject" : myMsgs[i].slice(-1)[0].getSubject()
, "body" : myMsgs[i].slice(-1)[0].getPlainBody()
}
valMsgs[i] = mailcontents
}
return valMsgs;
}
function main() {
newmail = fetchContactMail("旧作全品55円")
if(newmail.length > 0){
for(var i = newmail.length-1; i >= 0; i--){
//send_line(newmail[i])
var dueDates = extractDueDate(newmail[i]['body'],"【期間限定】(.*?)年(.*?)月(.*?)日.*?\\)(.*?)まで")
console.log(dueDates[1])
console.log(dueDates[2])
console.log(dueDates[3])
console.log(dueDates[4])
newmail[i]['duedate'] = new Date(dueDates[1] + "/" + dueDates[2] + "/" + dueDates[3] + " " + dueDates[4])
createEvents(newmail[i])
}
}
}