毎日の予定確認、スマホのカレンダーアプリを開いてチェックしていませんか?忙しいとついつい忘れがち…そんなあなたに朗報です!このチュートリアルでは、Googleカレンダーの予定を毎日LINEに自動で通知する仕組みを、プログラミング未経験者でも簡単に作れるように解説します。たった30分の設定で、予定の確認漏れを防ぎ、貴重な時間を有効活用できるようになります!
今回作成する自動化の全体像
graph TD A[Googleカレンダーの予定を取得] --> B{予定あり?}; B -- Yes --> C[LINEに通知を送信]; B -- No --> D[「予定なし」をLINEに通知];
ステップ0:事前準備
- Googleアカウント
- LINEアカウント
- LINE Developersアカウント
- Google Apps Script (GAS)の基本的な知識(なくても大丈夫です!分かりやすく解説します)
- LINE Messaging APIの理解
- GoogleカレンダーAPIの有効化
- 落ち着いて取り組める30分
ステップ・バイ・ステップ構築ガイド
Step1:LINE Messaging APIの設定
まずは、LINE Developers Console(https://developers.line.biz/console/)にアクセスし、プロバイダーとチャネルを作成します。Messaging APIタブでチャネルを作成し、チャネルアクセストークンとチャネルシークレットを取得します。これらは後ほどGASで利用するので、安全な場所にメモしておきましょう。また、Messaging APIを利用するには、webhook URLの設定や、botを作成する必要があります。LINE Developersの公式ドキュメントを参考に設定を進めてください。
Step2:Googleカレンダーの設定
通知を送信したいGoogleカレンダーを開き、カレンダーの設定からカレンダーIDをコピーします。このIDも後ほど使用するのでメモしておきましょう。GASがカレンダーにアクセスできるように権限を付与する必要があるため、Google Cloud PlatformでGoogle Calendar APIを有効化しておきましょう。
Step3:GASプロジェクトの作成
Google Apps Script(https://script.google.com/)を開き、新しいプロジェクトを作成します。分かりやすい名前を付けておきましょう(例:カレンダー通知)。
Step4:GASスクリプトの記述
以下のコードをGASプロジェクトにコピー&ペーストします。
// LINE Messaging APIの設定情報
const CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'; // ここにチャネルアクセストークンを入力
const USER_ID = 'YOUR_USER_ID'; // ここにユーザーIDを入力
// Googleカレンダーの設定情報
const CALENDAR_ID = 'YOUR_CALENDAR_ID'; // ここにカレンダーIDを入力
function sendLineNotification() {
const events = getTodaysEvents();
let message = '今日の予定:\n';
if (events.length === 0) {
message += '予定はありません。';
} else {
events.forEach(event => {
message += `${event.summary} (${event.start.dateTime || event.start.date})\n`;
});
}
const options = {
"method": "post",
"headers": {
"Authorization": "Bearer " + CHANNEL_ACCESS_TOKEN,
"Content-Type": "application/json"
},
"payload": JSON.stringify({
"to": USER_ID,
"messages": [
{
"type": "text",
"text": message
}
]
})
};
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', options);
}
function getTodaysEvents() {
const today = new Date();
const tomorrow = new Date(today);
tomorrow.setDate(today.getDate() + 1);
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
return calendar.getEvents(today, tomorrow);
}
// トリガー設定はこの関数のところで行います。
// 時間指定トリガーなどを設定してください。
コード中の `YOUR_CHANNEL_ACCESS_TOKEN`, `YOUR_USER_ID`, `YOUR_CALENDAR_ID` を、Step1とStep2で取得した値に置き換えてください。
Step5:トリガーの設定
GASエディタのメニューから「編集」>「現在のプロジェクトのトリガー」を選択し、「トリガーを追加」ボタンをクリックします。以下の設定でトリガーを作成します。
- 実行する関数:sendLineNotification
- イベントソース:時間主導型
- 時間ベースのトリガーのタイプ:日次タイマー
- 時刻:通知を受け取りたい時刻
これで、毎日指定した時刻にGoogleカレンダーの予定がLINEに通知されるようになります!
まとめ:自動化で生まれた時間を、もっと創造的な仕事に
GoogleカレンダーとLINE Messaging API、そしてGASを組み合わせることで、予定確認の自動化を実現できました。毎日数分の確認作業が自動化されるだけでも、年間でかなりの時間を節約できます。この時間を、より創造的な仕事や、プライベートの充実のために使いましょう!次は、他のタスクの自動化にも挑戦してみませんか?
免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。