🔔

Gogle Apps Script(GAS)を使って、Gmailの未読メールをLINEに通知する

2022/07/23に公開

LINE Notifyの準備🔔

https://notify-bot.line.me/ja/

リンク先にアクセスしログインが完了したら、マイページに進みアクセストークンを発行します。
送信先のトークルームを選択するか、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