GmailをLINEに自動転送する方法を解説! | 株式会社ベートーベン

GmailをLINEに自動転送する方法を解説!

「仕事のメールが大量に来るけど、外にいることも多くメールを見落としてしまう」ということはありませんか?
「Gmailに来たメールをLINEに自動転送」できれば、一気に業務を効率化できます。
転送によって業務を効率化させたいと考えている方は、ぜひ参考にしてみてください。

【GmailをLINEに自動転送する方法】

大まかには下記の3ステップです。一見難しそうですが、意外に簡単です。

  1. LINE Notifyにてアクセストークンを発行
  2. Google Apps Scriptの設定
  3. トリガーの設定

 

<1>LINE Notifyにてアクセストークンを発行

まずは、メールを転送したいLINEアカウントを開き、「LINE Notify」のトークンを発行します。
※LINE Notify…外部のサービスと通知を連携させるLINEの公式サービス

以下の方法にしたがって、アクセストークンを発行してください。

  1. LINE Notifyの公式サイトへアクセス
  2. LINE Notifyにログイン(ご自身のログイン情報を入力してください)
  3. 「マイページ」を開く
  4. 「アクセストークンの発行」(開発者向け)を開く
  5. 「トークンを発行する」
  6. 「トークン名」と「メールを転送するトークルーム」を決める
  7. トークン名は何でも大丈夫ですが、「Gmail」のようにわかりやすい名前をつけておくことをおすすめします。
    また、転送先のトークルームは好きなところを選べますが、「1:1でLINE Notifyから通知を受け取る」にしておくとわかりやすいでしょう。
  8. 「発行する」
  9. 発行されたトークンを忘れずにコピーする

 

<2>Google Apps Scriptの設定

次に、Google Apps Scriptを使って、メールをLINEへ転送する設定を行います。

  1. Google Apps Scriptの公式ページにアクセス(LINEに転送したいGmailのアカウントでログイン
  2. 「新規プロジェクト」をクリック
  3. 下記のコードを削除する
  4. function myFunction() {
    }

  5.  下記のコードをコピペする

    var lineToken = “xxxxxxxxxxxxxx“; //LINE notify token
    var get_interval = 5; //●分前~現在の新着メールを取得 #–トリガーの時間間隔をこれに合わせる

    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 * get_interval) + 3); //秒にして+3秒しておく
    //検索条件指定
    var strTerms = ‘(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() + “/”+ 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\n[subject]” + myMsgs[i].slice(-1)[0].getSubject();
    }

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

  6. 先ほどLINE Notifyで発行したトークンをコード1行目の部分に書き換える

    var lineToken = “xxxxxxxxxxxxxx“;

  7.  「メニュー」→「ファイル」→「保存」
  8. 「関数を選択」→「main」に切り替える
  9. 「実行」をクリックする
  10. 「許可を確認」
  11.  警告メッセージが表示されるので、「詳細」をクリック
  12. 「安全ではないページ」に移動する
  13. 「許可」をクリック

 

以上で設定が完了しましたので、正常に機能するか確認してみましょう。

 

  1. テストメールをGmailに送信する
  2. Google Apps Scriptのスクリプト画面内で「▶︎」をクリック
  3.  LINEに転送されていれば成功

 

<3>トリガーの設定

GmailをLINEに転送することに成功しましたが、今の状態では自分で「▶︎」を押さないと転送されません。
そこで、一定時間ごとに自動転送される設定を行いましょう。

  1. Google Apps Scriptの公式ページを開く
  2. 「メニュー」→「編集」→「現在のプロジェクトのトリガー」
  3. 「トリガーを追加」をクリック

  4. 以下の内容でトリガーを設定する

    ・実行する関数:main
    ・実行するデプロイ:Head
    ・イベントのソース:時間主導型
    ・時間ベースのトリガーのタイプ:分ベースのタイマー
    ・時間の間隔:自分の好きな時間間隔で設定する

  5. トリガーを設定したら「保存」を押す

    以上の設定により、今後は自動的にGmailがLINEに転送されるようになりました。

Column LIST  →