//2021 Kouki MATANO all rights reserved.
//THIS VERSION IS BETA. 学内向けのコードです。
var lineToken = “line_token”; //LINE Notifyのトークン
var fromAddress = ‘academic@example.ac.jp’; //LINE Notifyに通知するメールアドレス
var get_interval = 1; //n分前までの範囲で検索条件に該当するメールを取得する間隔(基本的にはトリガー周期と合わせる)
function notify_to_line() {
//クロール時間の処理関連
vartime = Math.floor(newDate().getTime() / 1000);
varget_timing = time – (60 * get_interval);
//メールのクロール条件(未開封メールの場合)
varsearch_items = ‘(‘ + fromAddress + ‘ is:unread’ + ‘ after:’+ get_timing + ‘)’;
//スターのついていないメールの場合
//var search_items = ‘(‘ + fromAddress + ‘ -is:starred’ + ‘ after:’+ get_timing + ‘)’;
//上記いずれかの使用しない方をコメントアウト、削除してください
//メールの取得と格納(未開封メール)
varmyThreads = GmailApp.search(search_items)
varmyMessages = GmailApp.getMessagesForThreads(myThreads)
for(variinmyMessages){
varstrDate = Utilities.formatDate( myMessages[i][0].getDate(), ‘Asia/Tokyo’, ‘M/d HH:mm’);
varstrSubject = myMessages[i][0].getSubject();
varstrMessage = myMessages[i][0].getPlainBody().slice(0,500);
send_to_Line(strDate,strSubject,strMessage);
myMessages[i][0].markRead();
//myMessages[i][0].star();
//開封、スターをつけるのいずれかをクロール条件と合わせて使用してください
//デフォルトは開封済み処理
}
}
function send_to_Line(strDate,strSubject,strMessage) {
varstrToken = lineToken;
varoptions =
{
“method” : “post”,
“payload” : “message=” + strDate + “\n 件名:” + strSubject + “\n 本文:” + strMessage,
“headers” : {“Authorization” : “Bearer “+ lineToken}
};
UrlFetchApp.fetch(“https://notify-api.line.me/api/notify”,options);
}
コードのvar変数宣言の文字がなぜかスペースが入らずに書式が崩れているので、気を付けてください。