GmailをLINEに自動転送する方法を解説!
「仕事のメールが大量に来るけど、外にいることも多くメールを見落としてしまう」ということはありませんか?
「Gmailに来たメールをLINEに自動転送」できれば、一気に業務を効率化できます。
転送によって業務を効率化させたいと考えている方は、ぜひ参考にしてみてください。
【GmailをLINEに自動転送する方法】
大まかには下記の3ステップです。一見難しそうですが、意外に簡単です。
- LINE Notifyにてアクセストークンを発行
- Google Apps Scriptの設定
- トリガーの設定
<1>LINE Notifyにてアクセストークンを発行
まずは、メールを転送したいLINEアカウントを開き、「LINE Notify」のトークンを発行します。
※LINE Notify…外部のサービスと通知を連携させるLINEの公式サービス
以下の方法にしたがって、アクセストークンを発行してください。
- LINE Notifyの公式サイトへアクセス
- LINE Notifyにログイン(ご自身のログイン情報を入力してください)
- 「マイページ」を開く
- 「アクセストークンの発行」(開発者向け)を開く
- 「トークンを発行する」
- 「トークン名」と「メールを転送するトークルーム」を決める
- トークン名は何でも大丈夫ですが、「Gmail」のようにわかりやすい名前をつけておくことをおすすめします。
また、転送先のトークルームは好きなところを選べますが、「1:1でLINE Notifyから通知を受け取る」にしておくとわかりやすいでしょう。 - 「発行する」
- 発行されたトークンを忘れずにコピーする
<2>Google Apps Scriptの設定
次に、Google Apps Scriptを使って、メールをLINEへ転送する設定を行います。
- Google Apps Scriptの公式ページにアクセス(LINEに転送したいGmailのアカウントでログイン)
- 「新規プロジェクト」をクリック
- 下記のコードを削除する
- function myFunction() {
}
- 下記のコードをコピペする
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() + "\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]) } } }
- 先ほどLINE Notifyで発行したトークンをコード1行目の部分に書き換える
var lineToken = “xxxxxxxxxxxxxx“;
- 「メニュー」→「ファイル」→「保存」
- 「関数を選択」→「main」に切り替える
- 「実行」をクリックする
- 「許可を確認」
- 警告メッセージが表示されるので、「詳細」をクリック
- 「安全ではないページ」に移動する
- 「許可」をクリック
以上で設定が完了しましたので、正常に機能するか確認してみましょう。
- テストメールをGmailに送信する
- Google Apps Scriptのスクリプト画面内で「▶︎」をクリック
- LINEに転送されていれば成功
<3>トリガーの設定
GmailをLINEに転送することに成功しましたが、今の状態では自分で「▶︎」を押さないと転送されません。
そこで、一定時間ごとに自動転送される設定を行いましょう。
- Google Apps Scriptの公式ページを開く
- 「メニュー」→「編集」→「現在のプロジェクトのトリガー」
- 「トリガーを追加」をクリック
- 以下の内容でトリガーを設定する
・実行する関数:main
・実行するデプロイ:Head
・イベントのソース:時間主導型
・時間ベースのトリガーのタイプ:分ベースのタイマー
・時間の間隔:自分の好きな時間間隔で設定する - トリガーを設定したら「保存」を押す
以上の設定により、今後は自動的にGmailがLINEに転送されるようになりました。