【コピペOK】Googleカレンダーの予定を毎日LINEに通知! 忙しいあなたのための自動化術

毎日のスケジュール管理、カレンダーアプリを開いて確認するのって意外と面倒ですよね?
特に忙しい時期は、ついつい確認を忘れて予定を見逃してしまうこともあるかもしれません。
そんな悩みを解決するのが、Googleカレンダーの予定をLINEに自動で通知する仕組みです!
この記事では、Google Apps Script(GAS)とLINE Notifyを使って、この便利な自動化を誰でも簡単に実現する方法をステップ・バイ・ステップで解説します。
プログラミングの知識がなくても、コピペでOK! 30分後には、毎朝LINEで今日の予定を確認できるようになりますよ!

今回作成する自動化の全体像

graph TD
    A[Googleカレンダーの予定を取得] --> B{予定はありますか?};
    B -- Yes --> C[LINEに予定を通知];
    B -- No --> D[「予定はありません」とLINEに通知];

ステップ0:事前準備

  • Googleアカウント(GoogleカレンダーとGASを使用)
  • LINEアカウント(LINE Notifyを使用)
  • LINE Notifyのアクセストークン(後ほど取得します)
  • Google Apps Scriptの基礎知識(少しだけ使います)

ステップ・バイ・ステップ構築ガイド

Step1:LINE Notifyの設定

まずは、LINE NotifyでGASからメッセージを送れるように設定しましょう。

  1. LINE Notify (https://notify-bot.line.me/ja/) にアクセスし、LINEアカウントでログインします。
  2. 「マイページ」に進み、「トークンを発行する」ボタンをクリックします。
  3. トークン名を入力します(例:カレンダー通知)。
  4. 通知を送信したいトークルーム(個人またはグループ)を選択し、「発行する」ボタンをクリックします。
  5. 表示されたアクセストークンをコピーし、安全な場所に保存します。これは後ほどGASで使用します。

Step2:Google Apps Scriptの準備

次に、GASでスクリプトを作成します。

  1. Googleスプレッドシートを新規作成します。
  2. メニューバーから「拡張機能」>「Apps Script」を選択します。
  3. スクリプトエディタが開きます。

Step3:スクリプトの記述

以下のコードをコピーして、スクリプトエディタに貼り付けます。YOUR_ACCESS_TOKEN をStep 1で取得したアクセストークンに、YOUR_CALENDAR_ID をGoogleカレンダーのIDに置き換えてください。カレンダーIDはGoogleカレンダーの設定画面で確認できます。


function sendDailyScheduleToLine() {
  // LINE Notifyの設定
  const token = 'YOUR_ACCESS_TOKEN';
  const lineNotifyApi = 'https://notify-api.line.me/api/notify';

  // Googleカレンダーの設定
  const calendarId = 'YOUR_CALENDAR_ID';

  // 当日の予定を取得
  const today = new Date();
  const events = CalendarApp.getCalendarById(calendarId).getEvents(today, new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1));

  // 予定がなければメッセージを作成
  let message = '今日は予定はありません。';

  // 予定があればメッセージを作成
  if (events.length > 0) {
    message = '今日の予定:\n';
    for (let i = 0; i < events.length; i++) {
      const event = events[i];
      const startTime = event.getStartTime();
      const endTime = event.getEndTime();
      const title = event.getTitle();
      message += `${Utilities.formatDate(startTime, "Asia/Tokyo", "HH:mm")} - ${Utilities.formatDate(endTime, "Asia/Tokyo", "HH:mm")}: ${title}\n`;
    }
  }

  // LINEに通知を送信
  const options = {
    "method": "post",
    "payload": {
      "message": message
    },
    "headers": {
      "Authorization": "Bearer " + token
    }
  };
  UrlFetchApp.fetch(lineNotifyApi, options);
}

Step4:トリガーの設定

スクリプトを毎日自動実行するためのトリガーを設定します。

  1. スクリプトエディタの左側のメニューから時計のアイコンをクリックして、「トリガー」タブを開きます。
  2. 「トリガーを追加」ボタンをクリックします。
  3. 以下のように設定します。
    • 関数を選択:sendDailyScheduleToLine
    • イベントのソースを選択:時間主導型
    • 時間ベースのトリガーのタイプを選択:日付ベースのタイマー
    • 時刻を選択:希望する通知時刻(例:午前7時)
  4. 「保存」ボタンをクリックします。承認を求められるので、許可します。

Step5:動作確認

スクリプトエディタで「実行」ボタン(再生ボタンのようなアイコン)をクリックし、`sendDailyScheduleToLine` を選択して実行します。LINEに通知が届くことを確認しましょう。通知が正しく届かない場合は、アクセストークンやカレンダーID、スクリプトに誤りがないか確認してください。

まとめ:自動化で生まれた時間を、もっと創造的な仕事に

これで、Googleカレンダーの予定を毎日LINEに自動で通知する仕組みが完成しました!毎朝カレンダーアプリを開く手間が省け、スケジュール管理がぐっと楽になりますね。生まれた時間を、もっと創造的な仕事に使いましょう!
次は、Googleタスクと連携させて、タスクの完了をLINEに通知する自動化にも挑戦してみませんか?


免責事項:本記事で紹介している手順やコードは、執筆時点での情報に基づいています。各サービスの仕様変更により、同様の手順で動作しない可能性があります。また、本チュートリアルの実行によって生じたいかなる損害についても、当方は一切の責任を負いかねます。ご自身の責任において、バックアップを取るなどの対策の上、実行してください。

タイトルとURLをコピーしました