[Gmail to LINE] GAS에서 새 도착 이메일을 LINE으로 전달
하고 싶은 일
Gmail → LINE
3월 말에 IFTTT에서 Gmail이 지원 종료가 되므로 Gmail을 전송하는 기능을 사용할 수 없게 되었으므로 응급 처치로.
조사하면 GAS 사용하면 바로 할 수 있는 것 같아서 조속히 해 보았다.
1. GAS(Google App Script)로 Gmail의 신착 메일을 취득
2.LINE에 전송
3. 일정한 시간이 서면 1~2를 반복한다
준비
코드
Gmail_to_LINE.jsvar lineToken = "ABC"; //LINE notify token
var get_interval = 30; //〇分前~現在の新着メールを取得 #--トリガーをこれに合わせておく!!
function send_line(Me){
var payload = {'message' : Me};
var options ={
"method" : "post",
"payload" : payload,
"headers" : {"Authorization" : "Bearer "+ lineToken}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
function fetchContactMail() {
//取得間隔
var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換
var time_term = now_time - (60 * get_interval); //変換
//検索条件指定
var strTerms = '(is:unread after:'+ time_term + ')';
//取得
var myThreads = GmailApp.search(strTerms);
var myMsgs = GmailApp.getMessagesForThreads(myThreads);
var valMsgs = [];
for(var i = 0; i < myMsgs.length;i++){
valMsgs[i] = "\n【date】: " + myMsgs[i].slice(-1)[0].getDate()
+ "\n【From】: " + myMsgs[i].slice(-1)[0].getFrom()
+ "\n【Subject】: " + myMsgs[i].slice(-1)[0].getSubject()
+ "\n【Body】: \n" + myMsgs[i].slice(-1)[0].getPlainBody().slice(0,200);
// myMsgs[i].markRead(); //メッセージを既読にする
}
return valMsgs;
}
function main() {
new_Me = fetchContactMail()
if(new_Me.length > 0){
for(var i = new_Me.length-1; i >= 0; i--){
send_line(new_Me[i])
}
}
}
참고 URL
htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 아 ps-sc 리 pt / 레후 렌세 / g 마이 l / g 마이 l - p # 세아 rch
htps : //가 되어-t. 이 m /이 s-있어 d
htps : // 이 m/3mc/이고 ms/39b2c8241c6b52811아 d2
var lineToken = "ABC"; //LINE notify token
var get_interval = 30; //〇分前~現在の新着メールを取得 #--トリガーをこれに合わせておく!!
function send_line(Me){
var payload = {'message' : Me};
var options ={
"method" : "post",
"payload" : payload,
"headers" : {"Authorization" : "Bearer "+ lineToken}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
function fetchContactMail() {
//取得間隔
var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換
var time_term = now_time - (60 * get_interval); //変換
//検索条件指定
var strTerms = '(is:unread after:'+ time_term + ')';
//取得
var myThreads = GmailApp.search(strTerms);
var myMsgs = GmailApp.getMessagesForThreads(myThreads);
var valMsgs = [];
for(var i = 0; i < myMsgs.length;i++){
valMsgs[i] = "\n【date】: " + myMsgs[i].slice(-1)[0].getDate()
+ "\n【From】: " + myMsgs[i].slice(-1)[0].getFrom()
+ "\n【Subject】: " + myMsgs[i].slice(-1)[0].getSubject()
+ "\n【Body】: \n" + myMsgs[i].slice(-1)[0].getPlainBody().slice(0,200);
// myMsgs[i].markRead(); //メッセージを既読にする
}
return valMsgs;
}
function main() {
new_Me = fetchContactMail()
if(new_Me.length > 0){
for(var i = new_Me.length-1; i >= 0; i--){
send_line(new_Me[i])
}
}
}
htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 아 ps-sc 리 pt / 레후 렌세 / g 마이 l / g 마이 l - p # 세아 rch
htps : //가 되어-t. 이 m /이 s-있어 d
htps : // 이 m/3mc/이고 ms/39b2c8241c6b52811아 d2
Reference
이 문제에 관하여([Gmail to LINE] GAS에서 새 도착 이메일을 LINE으로 전달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Damon/items/bbe6350ef1a4a10fe397텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)