いろいろ試してみたのですが、上手くいかなかったため、よろしければご指導いただきたく書き込みさせていただきました。
**■GmailをLINEに転送するGASを作成
**
Gmailで特定のメールにラベルをつけるようにフィルタを設定。
そのラベルに受信したメールをLINEnotify を使用してLINEグループに転送するスクリプトを以下のように組んでみました。
※参考:https://beethoven.co.jp/column/20211201/
(同じように複数のラベルを設定してそれぞれ転送されるように設定)
**■1日の限界数を超えてしまう
**
その際のトリガー設定について「時間主導型」「分ベースのタイマー」「1分おき」と設定すると問題なくLINEへ転送されるのですが、1分ごとにトリガーを動かすことになってしまい、1日あたりの限界数(?)を超えてしまい、途中で止まってしまう事象が発生しました。
**■15分おきに伸ばすと転送されない
**
そこで頻度を少なくしようと「1分」→「15分おき」としたのですが…
今度はラベルに新着メールが届いて、15分おきにトリガーが実行されるのですが、メールが転送されないという状況になってしまいました。
つきましては、トリガーのタイマーの時間を「15分おき(あるいはそれ以上)」にしても、メールが転送されるような方法がありましたら、ご指導いただきたく、いつもお世話になっており、恐縮なのですが…よろしければアドバイスのほどお願いいたします。
GAS
var lineToken = "○○○○○○○○○○○○○○○○○○○○"; //LINE notify token var words = ""; var f_body = 1; var interval = 1; 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 * interval) + 3); //秒にして+3秒しておく //検索条件指定 var strTerms = '(label:○○○○(ラベル名) subject:{' + words + '} 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] = " " + ( myMsgs[i].slice(-1)[0].getDate().getMonth() + 1) + "/" + myMsgs[i].slice(-1)[0].getDate().getDate() + " " + myMsgs[i].slice(-1)[0].getDate().getHours() + ":" + myMsgs[i].slice(-1)[0].getDate().getMinutes() + "\n[from]" + myMsgs[i].slice(-1)[0].getFrom() + "\n" + myMsgs[i].slice(-1)[0].getSubject() if(f_body == 1){ valMsgs[i] = valMsgs[i] + "\n\n[Message]\n"+ myMsgs[i].slice(-1)[0].getPlainBody(); } } 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]) } } }
まだ回答がついていません
会員登録して回答してみよう