365日の顛末

こころとからだの健康、不妊治療、キャリア。試行錯誤の365日の記録。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみた

みなさん、メールでお知らせを受けるときに、どのドメインのメールアドレスを使用していますか?

 

わたしはGmailを利用しています。

何らかのサービスを利用するためにメールアドレスを登録する必要があるに登録するのは、もっぱらGmailのメールアドレです。

 

当然、Gmailに届くメールの中には重要度の低いものもたくさん混ざっています。

以前、3大キャリアの携帯電話を持っていたときには、受信直後に確認したいような重要度の高いメールはキャリアメールで受信し、時間があるときにまとめて確認すれば良いような緊急性・重要性の低いメールはGmailと使い分けていた時期もありました。

が、格安スマホ(我が家はmineoです)を使用することになってからは、携帯キャリアのメールアドレスは使用しなくなり、Gmailに一本化しています。

 

でも、特定の送信元からのメールだけは、受信したらすぐに確認したいというケースもありますよね。

そういった場合に、LINEで通知を受け取れるように設定をすることができるんです。

以前はIFTTTでLINEへの転送を設定できたのですが、、IFTTTとLINEの連携終了によって使えなくなってしまいました。

いま現在は、Google Apps Script(GAS)というサービスでLINEへの通知転送を設定することができるので、そちらの設定を試してみました。

 

今回は以下の記事を参考にさせていただきました。

 

 

LINEに通知したくなった背景

※設定には関係ない話なので、設定方法を知りたい方は読み飛ばしてください。

というのも、不妊治療でわたしが通い始めたクリニックは、諸々の連絡がメールで通知されるオペレーションで、クリニックは一つの建物の数フロアに跨っています。

当日にどんな治療を受けるかにもよるけれど、まずは4階で受付を済ませて、10階で血液検査を受けて、次は5階で診察を受けるけれど、5階は混み合っているから9階の待合室の電源タップ付きデスク席でPCを開いて仕事を進めて、自分の診察順番が近づいたら5階に移動…、、というようにフロアを移動する必要が出てくるんですね。

次にどのフロアに行くべきかや、診察の順番が近づいてます、といったお知らせはすべて、登録していたメールアドレスに届くシステムなのです。

上述の通り、わたしはGmailでいろいろなメールを受信しているので、Gmailアプリの通知はOFFに設定しています。(受信ごとにPush通知が入ると煩わしいし)

でも、そうなるとGmailのアプリを立ち上げて都度リロードしないことにはメールの受信が確認できなくて、とても不便なのです。

それで「ああ、クリニックのメールだけをLINEで受信できたらいいのに」と思ったのがきっかけでした。

 

 

【1】LINE Notify でアクセストークンを発行(PC推奨)

今回、LINEに通知を送るのにはLINE Notifyというサービスを使います。

LINE Notifyを利用するための「アクセストークン」を発行するのが最初の工程です。

①まずはLINE Notifyページへ

以下のリンクからアクセスします。

notify-bot.line.me

 

②LINE Notify を友達に追加

上記リンクの遷移先のページにQRコードが表示されていると思うので、そこからLINE Notify を友達に追加します。

 

③LINEにログインする

右上の「ログイン」をクリックして、自分のスマホに設定しているLineのアカウントでログインします

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

 

④マイページの画面へ

ログイン後、右上の自分のアカウント名が表示されます。

アカウント名をクリックするとプルダウンが現れるので、「マイページ」を選択します。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

 

⑤アクセストークンの発行

「アクセストークンの発行」というポップアップが出てくるので、「トークンを発行する」をクリックします。

※ここで「開発者向け」の文字にビビることなかれ。

  わたしは、Scriptの知識などないですが、設定できましたので、気にせず進んでください

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

⑥トークン名・通知の送信先を選択

トークン名・通知の送信先を選択します。

トークン名というのは通知に表示させたい名称のこと。

「通知を送信するトークルーム」については、表示されている選択肢の一番上のものを選ぶと、先ほど友達に追加したLINE Notifyとのトーク画面に直接通知が送信されるようになります。

 

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

その上で、「発行する」ボタンをクリックします。

 

⑦発行されたトークンをコピー

発行されたトークンが画面に表示されます。

トークンはこの後の設定時に使うのですが、画面を消してしまうと2度と確認することができなくなっています。

トークンは桁数の大きい文字列なので、必ずコピペしてGmailやTXTエディタなどに保存しておきます。

 

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify


ここまでで、LINE Notifyのトークン発行が完了しました。


【2】Google Apps Scriptで通知するためのプログラムを作成(PC推奨)

次にGoogle Apps ScriptでGmailで受信したメールをLINEに転送する設定をしていきます。

 

①Google Apps Scriptで、新しいプロジェクトを作成する

こちらからGoogle Apps Scriptのページに移動して、左上にある「新しいプロジェクト」をクリックします。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

②プロジェクトタイトルを設定する

画面上部の「無題のプロジェクト」と表示されている箇所をクリックすると、ライトBOXが開き、プロジェクト名を入力する画面が出てきます。

今回、LINE に転送する設定の名称を入力しましょう。

(後から判別しやすい名前であればどんな名称でもOKです。)

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

 

③GASにLINEに転送するスクリプトを設定する。

デフォルトで3行のコードが表示されていると思います。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

この3行をすべて消して、下のコードをコピーし、先ほど消した3行の箇所にペーストします。

ペーストしたコードのうち、以下(1)(2)の2箇所を書き換えていきます。

(1)LINE notify tokenを書き換える

1行目の部分です。「lineToken = "XXXXXX"」の「XXXXXX」の部分を【1】-⑦で発行したLINEトークンに書き換えます。

 

(2)LINEに転送したいGmailのメールに設定するラベル名を書き換える

24行目の部分です。

「label:toLINE subject:{' + words + '} is:unread」という部分で、「toLINE」というラベルのついた未読のメールのみLINEに転送する、という指定をしています。

「toLINE」のラベル名の箇所を指定の内容に書き換えます。

GmailでLINEに転送したいメールに、特定の”ラベル”を貼り付けるという設定をGmail側で行う必要があります。

そのラベルが付与されたメールのみ、LINEに通知される形になります。

ここではわかりやすいように「Gmail上で”toLINE"というラベルがついたメールのみ、LINEで通知されるように設定する」前提で、値を「toLINE」にしています。

 「' + words + '」の箇所を書き換えれば、件名に特定の文字列が含まれていた時に転送するという設定になります。

 

④変更を加えたスクリプトを保存します。

画面上部のファイルマークをクリックすると保存されます。

 

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

 

【3】Gmailで、転送したいメールに、特定のラベルを付ける設定をする

【2】-③-(1)でも触れた、Gmail側の設定です。

LINEに特定のメールだけ転送したい場合、送信元のメールアドレスを指定するというような設定ができるものと思い込んでいたのですが、残念ながらそのような設定方法を見つけることはできませんでした。

変わりに、Gmailで特定のラベルをつけたメールのみ、LINEに通知を送る方法を見つけたので、その形で設定しています。

 

Gmailで特定のメールをフィルタで抽出して、ラベルを自動でつける設定は、以下のページを参照してください。

support.google.com

 

このときにラベル名を「toLINE」にします。

【2】-③-(1)で変更したしたGASのスクリプト「label:toLINE」の箇所のラベル名と一致させる必要があります。

 

【4】Google Apps Scriptでプログラムを実行する

①GASのスクリプトを実行する

GASの画面に戻って、先ほど設定したスクリプトを実行します。

画面の上の部分で、実行するスクリプトの範囲で「main」を選択したあと、「実行」ボタンを押します。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

 

②権限の承認をする。

以下のような画面が出てくるので、「権限を確認」をクリックします。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

すると、Googleアカウントを入力する画面が出るので、今回メールを受信するGoogleアカウントを選択してください。

 

次にポップアップウィンドウでこんな画面が出てきます。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

左下の「詳細」の部分をクリックすると、さらに画面が表示されます。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

”リスク”と言われるとなんだか腰が引けちゃいますが、気にせず左下のリンクをクリックします。

 

次に表示される画面では、右下の「許可」をクリックします。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

③GASの画面でスクリプトの実行結果を確認

GASの画面にもどると、実行結果が表示されました。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

無事、実行完了していますね!

 

【5】GASのトリガーを設定する

先ほど設定したGASのスクリプトを1分間隔で実行するための設定をしていきます。

①GASの画面で「トリガーを追加」をクリック

GASの画面で左側のナビゲーションの時計のマークにカーソルを合わせると「トリガー」という項目が出てきます。

「トリガー」をクリックして表示された画面で、右下に出てくる「トリガーを追加」のボタンをクリックします。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

②トリガーを設定する

表示された画面で、以下のような設定にします。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

ここで注意したいのが、トリガーを実行する頻度です。

 

今回は「1分おき」に設定しています。

というのも、GASに設定したスクリプトの4行目で、今回は「1分前からの新着メールを確認する」という指定をしているからです。

Gmailで特定のメールを受信したらLINEに通知を送るようにGoogle Apps Script(GAS)で設定してみたLINE Notify

 

新着メールを確認する頻度と、トリガーを発動する頻度を合わせておかないと、LINEへの通知が漏れてしまうので、注意です。

 

 

以上で設定は完了です!

 

ここまでの設定に間違いがなければ、Gmailで指定したラベルの新着メールを受信するたびに、LINEに通知が届くはずです。

ただし、

  • LINEに通知されたメールはGmail上では既読になる
  • Gmailに届いたメールの内容については、別途Gmail上で確認する必要がある

という点に注意です。


設定したGmailのラベルに該当するようなメールを送って、LINEに転送されるか確認してみてくださいね。