テイクアウトの注文完了メールをチェックしてGoogle Calendarに登録するGoogle Apps Script
高頻度に呼んだらrate limitとかよくなさそうな気もするので各自調整いるけれどGoogle Calendarに注文情報を集積する計画
EPARKテイクアウト
code:epark2gcal.js
// EPARK テイクアウトの注文完了メールをチェックしてGoogle Calendarに登録する
function myFunction() {
var calendar = CalendarApp.getDefaultCalendar()
Logger.log("calendar:" + calendar.getName())
GmailApp.search("subject:\"【EPARKテイクアウト】ご注文を承りました\" is:unread").forEach(function(thread){
thread.getMessages().forEach(function(mail) {
if (!mail.isUnread()) {
return
}
var body = mail.getPlainBody()
var mtc = body.match(/\受取日時\ (\d{4})年(\d{2})月(\d{2})日 (\d{2})時(\d{2})分/) if (mtc == null) {
return
}
var dt = new Date(parseInt(mtc1), Logger.log("date:" + dt)
var place = "不明"
if (mtc != null) {
}
Logger.log("place:" + place)
calendar.createEvent('🥡' + place + "でのテイクアウト",
dt, new Date(dt.getTime() + 15 * 60 * 1000), { description: body, location: place})
mail.markRead()
})
})
}
ほっともっと
code:hottomott2gcal.js
function hottomotto() {
var calendar = CalendarApp.getDefaultCalendar()
Logger.log("calendar:" + calendar.getName())
GmailApp.search("subject:\"ご注文受付/ほっともっとのネット注文\" is:unread").forEach(function(thread){
thread.getMessages().forEach(function(mail) {
if (!mail.isUnread()) {
return
}
var body = mail.getPlainBody()
var mtc = body.match(/■受取り時間\s+(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2})/)
if (mtc == null) {
return
}
var dt = new Date(parseInt(mtc1), Logger.log("date:" + dt)
mtc = body.match(/■受取り店舗\s+(\S.*?)\r\n/) var place = "不明"
if (mtc != null) {
}
Logger.log("place:" + place)
calendar.createEvent('🍱' + place + "でのテイクアウト",
dt, new Date(dt.getTime() + 15 * 60 * 1000), { description: body, location: place})
mail.markRead()
})
})
}