【コピペOK】Googleカレンダーの予定を毎日LINEに通知!時間管理を自動化する方法

業務改善

毎日の予定確認、スマホのカレンダーアプリを開いてチェックしていませんか?忙しいとついつい忘れがち…そんなあなたに朗報です!このチュートリアルでは、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を組み合わせることで、予定確認の自動化を実現できました。毎日数分の確認作業が自動化されるだけでも、年間でかなりの時間を節約できます。この時間を、より創造的な仕事や、プライベートの充実のために使いましょう!次は、他のタスクの自動化にも挑戦してみませんか?


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

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