いろいろ試してみたのですが、上手くいかなかったため、よろしければご指導いただきたく書き込みさせていただきました。
**■GmailをLINEに転送するGASを作成
**
Gmailで特定のメールにラベルをつけるようにフィルタを設定。
そのラベルに受信したメールをLINEnotify を使用してLINEグループに転送するスクリプトを以下のように組んでみました。
※参考:https://beethoven.co.jp/column/20211201/
(同じように複数のラベルを設定してそれぞれ転送されるように設定)
**■1日の限界数を超えてしまう
**
その際のトリガー設定について「時間主導型」「分ベースのタイマー」「1分おき」と設定すると問題なくLINEへ転送されるのですが、1分ごとにトリガーを動かすことになってしまい、1日あたりの限界数(?)を超えてしまい、途中で止まってしまう事象が発生しました。
**■15分おきに伸ばすと転送されない
**
そこで頻度を少なくしようと「1分」→「15分おき」としたのですが…
今度はラベルに新着メールが届いて、15分おきにトリガーが実行されるのですが、メールが転送されないという状況になってしまいました。
つきましては、トリガーのタイマーの時間を「15分おき(あるいはそれ以上)」にしても、メールが転送されるような方法がありましたら、ご指導いただきたく、いつもお世話になっており、恐縮なのですが…よろしければアドバイスのほどお願いいたします。
GAS
1var lineToken = "○○○○○○○○○○○○○○○○○○○○"; //LINE notify token 2var words = ""; 3var f_body = 1; 4var interval = 1; 5 6function send_line(Me){ 7 var payload = {'message' : Me}; 8 var options ={ 9 "method" : "post", 10 "payload" : payload, 11 "headers" : {"Authorization" : "Bearer "+ lineToken} 12 }; 13 UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options); 14} 15 16 17function fetchContactMail() { 18 //取得間隔 19 var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換 20 var time_term = now_time - ((60 * interval) + 3); //秒にして+3秒しておく 21 22 //検索条件指定 23 var strTerms = '(label:○○○○(ラベル名) subject:{' + words + '} is:unread after:'+ time_term + ')'; 24 25 //取得 26 var myThreads = GmailApp.search(strTerms); 27 var myMsgs = GmailApp.getMessagesForThreads(myThreads); 28 var valMsgs = []; 29 for(var i = 0; i < myMsgs.length;i++){ 30 valMsgs[i] = " " 31 + ( myMsgs[i].slice(-1)[0].getDate().getMonth() + 1) 32 + "/" 33 + myMsgs[i].slice(-1)[0].getDate().getDate() 34 + " " + myMsgs[i].slice(-1)[0].getDate().getHours() 35 + ":" + myMsgs[i].slice(-1)[0].getDate().getMinutes() 36 37 + "\n[from]" + myMsgs[i].slice(-1)[0].getFrom() 38 + "\n" + myMsgs[i].slice(-1)[0].getSubject() 39 40 if(f_body == 1){ 41 valMsgs[i] = valMsgs[i] + "\n\n[Message]\n"+ myMsgs[i].slice(-1)[0].getPlainBody(); 42 } 43 } 44 45 return valMsgs; 46} 47 48 49function main() { 50 new_Me = fetchContactMail() 51 if(new_Me.length > 0){ 52 for(var i = new_Me.length-1; i >= 0; i--){ 53 send_line(new_Me[i]) 54 } 55 } 56}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/26 05:25
2022/04/26 08:55
2022/04/27 05:01