LoginSignup
0
2

More than 3 years have passed since last update.

Gmailで受信した時、Lineのbot形式で通知する方法

Posted at

Gmailで受信した時、Lineのbot形式で通知する方法

今回、使用するアプリ

LINEアカウント
LINE Notify
Googleアカウント(Gmail/Google App Script)

Line notifyのアカウント登録と友達追加

https://notify-bot.line.me/ja/より
アカウントを登録する。

右上のアカウント名をクリックして、「登録サービス管理」をクリック

アクセストークン発行のトークンを発行をクリック

トークン名を記入と通知を送信するトークルームを選択

発行するをクリック
トークンをコピーしてメモしておく。(後でもコピー可能)

LINEアカウントに移動

Line notifyを追加する

受信するメールアカウントのGoogle App Scriptの設定

GASを開く
以下の記述をコピー

// 検索結果に応じたGmailをLINEに通知する
// 検索
var FindSubject = 'subject:(件名を入れる) ';

function getMail(){

  //指定した件名のスレッドを検索して取得
  var myThreads = GmailApp.search(FindSubject, 0, 10);
  //スレッドからメールを取得し二次元配列に格納
  var myMessages = GmailApp.getMessagesForThreads(myThreads);


  for(var i in myMessages){
    for(var j in myMessages[i]){

      //スターがないメッセージのみ処理   
      if(!myMessages[i][j].isStarred()){

        var strDate = myMessages[i][j].getDate();
        var strSubject = myMessages[i][j].getSubject();
        var strMessage = myMessages[i][j].getPlainBody().slice(0,200);

        //LINEにメッセージを送信
        sendLine(strDate,strSubject,strMessage);

        //処理済みのメッセージをスターをつける
        myMessages[i][j].star();



      }
    }
  }
}

function sendLine(strDate,strSubject,strMessage){

  //Lineに送信するためのトークン
  var strToken = "LINE Notifyで発行したトークンをコピー";
  var options =
   {
     "method"  : "post",
     "payload" : "message=" + strDate + strSubject + strMessage,
     "headers" : {"Authorization" : "Bearer "+ strToken}

   };

   UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options);
}

試しにメールを送ってみる

参考にした記事

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2