🔔
Gogle Apps Script(GAS)を使って、Gmailの未読メールをLINEに通知する
LINE Notifyの準備🔔
リンク先にアクセスしログインが完了したら、マイページに進みアクセストークンを発行します。
送信先のトークルームを選択するか、1対1で受け取るかを選択できます。
トークルームに通知したい場合は、LINE Notifyをルームに招待する必要があります。
GASの設定
test.js
function email_extraction() {
let strTerms = 'subject:"<抽出したいメールのタイトル>"';
let myThreads = GmailApp.search(strTerms);
let myMessages = GmailApp.getMessagesForThreads(myThreads);
for (const messages of myMessages) {
for (let i=0;i<messages.length; i++) {
let message = messages[i];
let subject = message.getSubject();
let body = message.getPlainBody()
let date = message.getDate();
if(message.isUnread()){
notify_to_line(subject,body,date);
message.markRead();
}
}
}
}
function notify_to_line(subject,body,date){
let messageBody = subject + body + date;
let lineToken = "<発行したトークン>";
let payload = {'message' : messageBody} ;
let options ={
"method" : "post",
"payload" : payload,
"headers" : {"Authorization" : "Bearer "+ lineToken}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
テスト通知
自分宛にメールを送信し、これをLINEに通知してみます。
コードをデプロイします。
email_extractionを選択し実行します。
初回実行時は警告が出ます。
安全ではないページに移動し、実行を許可します。
LINEに通知されました。
Discussion