質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

解決済

GmailをLINEへ転送する際、トリガーを「15分おき」にすると届かなくなってしまう

dshiraiwa
daishi

総合スコア7

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

2回答

0評価

0クリップ

235閲覧

投稿2022/04/26 03:03

いろいろ試してみたのですが、上手くいかなかったため、よろしければご指導いただきたく書き込みさせていただきました。

**■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]) } } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。