はじめに
Gmailに届いたメールをリアルタイムで確認したいけれど、毎回Gmailを開くのは面倒ですよね
特に、メールを開かないことが多かったり、メールが来ても気づかないことがある方、そして基本的に連絡はLINEしか見ないという方にとっては、重要なメールを見逃してしまうこともあるかもしれません
そこで、Gmailに届いたメールをLINEに通知するBOTを作成してみました。このブログでは、その手順を詳しく解説します
必要なもの
- Googleアカウント
- LINEアカウント
- Google Apps Script
- LINE Messaging API
ステップ1: Google Apps Scriptの設定
Google Apps Scriptを開く
Googleドライブにアクセスし、「新規」→「その他」→「Google Apps Script」を選択します
スクリプトを作成
以下のコードを貼り付けます。
function checkEmails() {
// 未読で特定の件名を持つメールスレッドを検索
var threads = GmailApp.search('from:YOUR_EMAIL_ADDRESS is:unread'); // ここに通知したいメールの送信元アドレスを入力
// 検索結果のスレッドをループ
for (var i = 0; i < threads.length; i++) {
// 各スレッド内のメッセージを取得
var messages = threads[i].getMessages();
// 各メッセージをループ
for (var j = 0; j < messages.length; j++) {
var message = messages[j];
// メッセージが未読でない場合はスキップ
if (!message.isUnread()) continue;
// メールの件名を取得
var subject = message.getSubject();
// メールの本文をプレーンテキストで取得
var body = message.getPlainBody();
// LINE Messaging APIを使用して通知を送信
sendLineMessage('YOUR_LINE_USER_ID', subject + "\n" + body); // ここに自分のLINE IDを入力
// メールを既読にする
message.markRead();
}
}
}
重要な設定
- メール送信元アドレスの設定: from:YOUR_EMAIL_ADDRESS の部分を、通知したいメールの送信元アドレスに置き換えます
- LINEユーザーIDの設定: sendLineMessage(‘YOUR_LINE_USER_ID’, …) の YOUR_LINE_USER_ID を自分のLINE IDに置き換えます。
// LINE Messaging APIを使用してメッセージを送信
function sendLineMessage(userId, messageText) {
// LINE Messaging APIのチャネルアクセストークンを設定
var channelAccessToken = 'YOUR_CHANNEL_ACCESS_TOKEN'; // ここに取得したアクセストークンを入力
// LINE Messaging APIのエンドポイントURL
var url = 'https://api.line.me/v2/bot/message/push';
// HTTPリクエストのヘッダーを設定
var headers = {
'Content-Type': 'application/json', // リクエストのコンテンツタイプをJSONに設定
'Authorization': 'Bearer ' + channelAccessToken // 認証情報を設定
};
// 送信するデータを設定
var postData = {
'to': userId, // メッセージを送信するユーザーのLINE ID
'messages': [
{
'type': 'text', // メッセージのタイプをテキストに設定
'text': messageText // 送信するメッセージの内容
}
]
};
// HTTPリクエストのオプションを設定
var options = {
'method': 'post', // POSTメソッドを使用
'headers': headers, // ヘッダーを設定
'payload': JSON.stringify(postData) // 送信するデータをJSON文字列に変換
};
// LINE Messaging APIにメッセージを送信
UrlFetchApp.fetch(url, options);
}
トリガー設定
スクリプトエディタの「時計」アイコンをクリックし、トリガーを設定します。「sendEmailToLine」関数を「時間主導型」で定期的に実行するように設定します
ステップ2: LINE Messaging APIの設定
LINE Developersにアクセス
LINE Developersコンソールにアクセスし、新しいプロバイダーとチャンネルを作成します
アクセストークンの取得
チャンネル設定から「Messaging API」を選択し、アクセストークンを発行します。このトークンをGoogle Apps Scriptの’YOUR_CHANNEL_ACCESS_TOKEN’に置き換えます
おわりに
これで、Gmailに届いたメールをLINEに通知するBOTが完成しました。これを活用することで、重要なメールを見逃すことなく、効率的に管理することができます。ぜひ試してみてください!
コメント