ご訪問ありがとうございます。
スプレッドシートマスターのひろしです。
前回
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 特定のメールをLINEに通知させることが
できます。
ようするに、LINEでメールの管理も
できてしまうのです。
なので、
- LINEは韓国に情報が漏れて危険だから使わない。
- ガラケーで十分、スマホは嫌だ。
とか言って、LINEを断固として使わない人からのメールも
あなたのLINEに通知されるようになります。
逆に、知らないと
あなた:「あー、あのメール来たかな。」
と、わざわざ最近開いていない
メーラーを開く必要があります。
もちろん、スマホで新着メールを
通知させる機能もありますが、
いろんなメールが多すぎて
使用していないと思います。
なので、今回の
「特定のGmailをLINEに転送する方法」を
ぜひ、取り入れてください。
そして
こんな感じで答えてみてください。
やり方は簡単です。
ステップ by ステップでGASのスクリプトを
貼り付けるだけなので
そんなに難しいことはありません。
もしあなたが現時点で
「GAS?」
「スクリプト?」
っていう状態であっても大丈夫です。
動画を見ながら、そのとおりに、
ゆっくりと確実に行っていけば、
必ずできます。
ときどき、動画を止めたりしても
いいと思います。
とにかく動画の通りに行ってください。
そして、10分後には。。
。。。
あの、待ちに待った大切な人からのメールが
あなたのLINE画面に通知されるようになるのです。
GmailをLINEに転送する
準備するもの
- Gmailアカウント
- LINEアカウント
これだけです。
では、動画を見ながらやってみてください。
動画内のアイテム
LINE Notify APIの登録
Google Apps Script
Googleドライブを開きます。
Step1.
①「Googleドライブ」を開きます。
Step2.
①「+新規」をクリックします。
Step3.
①「その他」ー「Google Apps Script」をクリックします。
スクリプト
Step1.
スクリプトエディタに以下をコピペします。
var LINE_NOTIFY_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXX";
var query = "subject:テスト";
//例) var query = "subject:(テスト) from:xxxx@gmail.com";
//メールをチェックし条件に該当するメールをLINEに通知する
function getMail(){
//指定した条件でスレッドを検索して取得
var myThreads = GmailApp.search(query, 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 strmsg = Utilities.formatDate(myMessages[i][j].getDate(), 'Asia/Tokyo', 'yyyy-MM-dd HH:mm:ss')+"\n"; //タイムスタンプ
strmsg += myMessages[i][j].getSubject() + "\n";//Subject
strmsg += myMessages[i][j].getPlainBody().slice(0,200);//本文の先頭から200文字
//LINEにメッセージを送信
sendLineMessage(strmsg);
//処理済みのメッセージをスターをつける
myMessages[i][j].star();
}
}
}
}
//LINEにメッセージを送信する
function sendLineMessage(msg) {
var response = UrlFetchApp.fetch("https://notify-api.line.me/api/notify", {
"method": "post",
"headers": {
"Authorization": "Bearer " + LINE_NOTIFY_TOKEN
},
"payload": {
"message": msg
}
});
}
Step2.
- 「LINE Notify APIの登録」で取得したトークンを貼り付けます
- メールの条件を指定します。
※ここで、getMail関数を実行してみて
実際にLINEに通知されることを確認します。
①[SendMail]を選択する
②[▲]をクリックする
トリガーの設定
Step1.
①[時計]アイコンをクリックする
Step2.
①[トリガーを追加]をクリックする
Step3.
①[getMail]を選択する
②[時間主導型]を選択する
③[分ベースのタイマー]を選択する
④[10分おき](あなたがチェックしたいタイミング)を選択する
⑤[保存]をクリックする
これで、自動的にLINEに通知されるようになります。
マインドセットします。
メールをLINEに集約することで業務が爆発的に改善する
まあ、爆発的とまではいきませんが、
なんだかんだ言っても多くの人が
LINEを使っています。
なので、いろんな事をLINEに集約させることで
かなり便利になります。
では、今回のスプレッドシートマスターへの究極の方法です。
https://notify-bot.line.me/ja/
でトークンを発行する
Step2.
GASにスクリプトを貼り付ける
Step3.
スクリプトをあなた用に変更する
Step4.
トリガーを設定する
では、早速トークンを発行してください
今すぐです。
さあ、これであなたのスマホに
メールの通知が届くようになります。
最後までご覧いただきありがとうございます。
つぎはこちら
コメント
コメント失礼致します。
メールからLINEに流す作業は実用的で私も参考に使用させていただきました。ありがとうございます。一方で、LINEからメールは可能なのでしょうか?文章や添付ファイルを送れると、とても利便性が上がります。
たくさんの動画をアップしておられるのでお忙しいと思いますが、こちらの動画もアップしていただきたいです。
よろしくお願いいたします。
なるほど、そういうニーズもあるのですね。
今度やってみます。
娘の学校の自習室の入退室時刻の自動通知メールを家族のLINEグループに通知させるのに参考にさせて頂きました。notifyのサービスは便利なのですが、家族のLINEグループに通知専用とはいえ、身内以外のIDを追加するのに少々抵抗がありました。例えば自分のIDで代理投稿するようなイメージでできないものか思案しています。
たかさんコメントありがとうございます。
良い使い方ですね。
しかしながら、家族のLINEグループに身内以外のIDというのは、抵抗がありますね。
イマイチですが通知用に別グループを作ってみてはいかがでしょうか?
お世話になります。
実行すると下記のようなエラーが出ます。
Exception: Request failed for https://notify-api.line.me returned code 400. Truncated server response: {“status”:400,”message”:”LINE Notify account doesn’t join group which you want to send.”} (use muteHttpExceptions option to examine full response)
sendLineMessage @ コード.gs:40
getMail @ コード.gs:28
どこを直せばよいのでしょうか。
こちらの件、解決しました。
LINEグループにLINE Notifyを友達追加したら解決しました。
もし必要なければ、先ほどのコメント削除しておいてください。
返信ありがとうございます。
他の方の助けになると思いますので、残しておきます。
コメント失礼します。以下のようなエラーが出るのは何がおかしいでしょうか。
1度は転送出来たのですが、
Exception: 1 日にサービス gmail を実行した回数が多すぎます。
Exception: Gmail の操作を行うことはできません。
エラー
Exception: Service invoked too many times for one day: gmail.
getMail @ コード.gs:13
となります。
メッセージを見る限り、gmailの使用回数が上限を超えたのではないでしょうか?
コメント失礼致します。
subjectを二種類指定したい場合はどのようなコードにすればいいでしょうか?
(例えば、 テスト という件名と 問題 という件名のものをlineに通知させたい場合などです。)
すみません、二種類指定の意味がわかりません。
上記の場合、元のメールのsubjectは何なのでしょうか?
1通のメールを2回通知するという意味なのでしょうか?
具体例(元のメールSubject、LINEに送信するSubject)を提示してください。
現在のコードだと、件名にテストと記載されたメールのみがラインに通知されると思うのですが、それに加えてもう一つ 問題 と件名に記載されたメールも同じようにラインに通知してほしい場合はどうすればいいですか?という質問です。分かりにくい質問で申し訳ありません。
■元のメール
Subject テスト
本文A
■LINEに送信
Subject テスト
本文A
Subject 問題
本文A
1件のメールに対し2通をLINEに送信する
という意味ですか?
■元のメール
Subject テスト
本文A
Subject 問題
本文A
■LINEに送信
Subject テスト
本文A
Subject 問題
本文A
という意味です。
2通メールが来るなら普通の動きじゃないですか?
そうならないですか?
通知してほしいと思っている、二通の別々の件名のメールが来ても
件名:テスト
と書かれた分のメールしかlineに通知されないので、
件名:問題
と書かれたメールもlineに通知させたいということです。
なるほど。
すみません、ようやく質問の意味がわかりました。
var query = “subject:テスト”;
は、”テスト”でフィルタリングするという意味なので、
queryを空っぽにすればいいですよ。
var query = “”;
非常にわかりやすくまとめられていて初心者の私でも簡単に条件を変えたりして利用できました。ありがとうございます。
他の部分は引数の意味も書いてある内容からわかるのですが10行目のGmailApp.search(query, 0, 10)の部分については引数の意味なども載せていただけると初心者でももっと理解できるかと思います。
コメントありがとうございます。
さすがですね。私自身、サンプルからコピペしていたので気にしていませんでした^^
GmailApp.search(query, 0, 10)
search(query: string, start: any, max: any):
query → 検索文字列
例の場合、”subject:テスト” ←これの指定方法は、Gamilの検索窓と同じです。
0,10 → これを指定することで直近の10スレッドを取得しています。
さらに詳しくはこちらをどうぞ↓
https://tetsuooo.net/gas/1267/
コメント失礼します。
実用的な方法を教えて頂きありがとうございます!
複数のメールから、通知を受けたい場合は、どうすれば良いでしょうか?
Var query = “XXX.com”
Var query = “YYY.com”
のように、しようとすると1番最後のアドレスにしか反応しない様でして・・・
同じコードをコピーして1通知に1シート使ってメールを管理する分には問題ないようなんですが。
出来れば、上記のように1つのコードで管理できるとありがたいなと思っていまして。
何か方法があったら教えて頂けたら幸いです。
Gamilの検索窓と同じなので
Var query = “XXX.com OR YYY.com”で行けるのでは?
さらに詳しくはこちらをどうぞ↓
https://tetsuooo.net/gas/1267/
ありがとうございます!
試してみます♀️
Exception: Request failed for https://notify-api.line.me returned code 400. Truncated server response: {“status”:400,”message”:”LINE Notify account doesn’t join group which you want to send.”} (use muteHttpExceptions option to examine full response) グループに追加しましたしかし、このエラーはまだ表示されます。どうすれば修正できますか?
LINEグループにLINE Notifyを友達追加しましたか?
この方法、とても便利ですね!特定のGmailをLINEに転送できるなんて、時間の節約にもなりそうです。早速試してみます!詳細な手順を共有してくれてありがとう!