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);
}
試しにメールを送ってみる
参考にした記事