【GASで30分】毎朝の予定確認はもう不要!Googleカレンダーの今日の予定をLINEに自動通知する方法

業務改善

フリーランスや経営者の皆さん、毎朝スマホを開いてGoogleカレンダーを確認するのが日課になっていませんか?「今日はどんな打ち合わせがあったかな…」と確認するのは大切ですが、忙しい朝には少し面倒ですよね。うっかり予定を見落として、ヒヤッとした経験がある方もいらっしゃるかもしれません。この記事では、そんな日々のちょっとした手間と不安を解消する、魔法のような自動化術をご紹介します。プログラミング経験がなくても大丈夫!コピペとクリックだけで、Googleカレンダーに登録された「今日の予定」を、毎朝決まった時間にLINEへ自動で通知する仕組みを30分で構築します。この仕組みがあれば、もう予定を能動的に確認しにいく必要はありません。あなたの代わりに、アシスタントのようにLINEが今日のスケジュールを教えてくれます。さあ、一緒に作ってみましょう!

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

今回作成するのは、Googleの無料サービス「Google Apps Script(GAS)」を使って、GoogleカレンダーとLINEを連携させる仕組みです。以下の図のように、設定した時間になると自動でスクリプトが動き出し、あなたのLINEにその日の予定一覧が届きます。

graph TD
    A[毎日決まった時間に自動実行
(トリガー)] --> B{Google Apps Script (GAS) 起動}; B --> C[Googleカレンダーの
今日の予定を取得]; C --> D[予定をメッセージ形式に整形]; D --> E[LINE Notify APIを
利用してLINEに送信]; E --> F[あなたのLINEに
今日の予定が届く!];

ステップ0:事前準備

본격적인 구축作業を始める前に、以下の4つが揃っているか確認しましょう。もし持っていなくても、すべて無料で準備できますのでご安心ください。

  • Googleアカウント: GoogleカレンダーやGoogle Apps Scriptを利用するために必須です。GmailのアドレスがあればOKです。
  • LINEアカウント: 通知を受け取るためのLINEアカウントです。
  • LINE Notifyのアクセストークン: LINEにメッセージを送るための「鍵」となるものです。これはStep1で取得します。
  • GoogleカレンダーのID: どのカレンダーの予定を通知するかを指定するためのIDです。これもStep2で取得します。

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

準備ができたら、いよいよ構築スタートです!各ステップを丁寧に進めていきましょう。

Step1:LINEに通知するための「鍵」を取得しよう

まずは、GASからLINEにメッセージを送るために必要な「アクセストークン(合い言葉のようなもの)」を取得します。

  1. LINE Notify」の公式サイトにアクセスし、右上の「ログイン」からご自身のLINEアカウントでログインします。
  2. ログイン後、再度右上のアカウント名をクリックし、「マイページ」へ進みます。
  3. ページを少し下にスクロールし、「トークンを発行する」ボタンをクリックします。
  4. ポップアップが表示されたら、以下の2点を設定します。
    トークン名: 「カレンダー通知用」など、ご自身が分かりやすい名前を自由に入力します。
    通知を送信するトークルーム: 通知を受け取りたい場所を選びます。「1:1でLINE Notifyから通知を受け取る」を選ぶと、自分だけに通知が届きます。
  5. 「発行する」ボタンを押すと、緑色の背景でアクセストークンが表示されます。このトークンは一度しか表示されません!必ず「コピー」ボタンを押し、メモ帳などに貼り付けて大切に保管しておいてください。

Step2:予定を読み込むカレンダーを特定しよう

次に、どのGoogleカレンダーから予定を取得するかを指定するための「カレンダーID」を調べます。

  1. Googleカレンダーにアクセスします。
  2. 画面左側の「マイカレンダー」の一覧から、通知したいカレンダー(例:「自分の名前」のカレンダー)にカーソルを合わせます。
  3. 表示される「︙」(縦三点リーダー)をクリックし、「設定と共有」を選択します。
  4. 設定画面を下にスクロールし、「カレンダーの統合」という項目を見つけます。
  5. そこに表示されている「カレンダーID」(通常はメールアドレス形式)をコピーします。これもメモ帳などに貼り付けておきましょう。 (※もしメインで使っているデフォルトのカレンダーであれば、後述のスクリプトでIDの代わりに `primary` と指定することも可能です。)

Step3:自動化の司令塔「Google Apps Script」を準備しよう

いよいよ自動化の心臓部であるGoogle Apps Script(GAS)の準備です。

  1. Googleドライブを開き、左上の「+ 新規」ボタンをクリックします。
  2. メニューから「その他」>「Google Apps Script」を選択し、新しいプロジェクトを作成します。
  3. エディタ画面が開いたら、まず左上の「無題のプロジェクト」をクリックし、「GoogleカレンダーLINE通知」のような分かりやすい名前に変更しましょう。
  4. 次に、Step1とStep2で取得した情報を安全に保管するため、「スクリプトプロパティ」に設定します。左メニューの歯車アイコン(プロジェクトの設定)をクリックしてください。
  5. 設定画面を下にスクロールし、「スクリプト プロパティ」の項目にある「スクリプト プロパティを追加」ボタンをクリックします。
  6. 以下の2つの情報を、それぞれプロパティと値として入力・保存します。
    ・1つ目:プロパティに「LINE_NOTIFY_TOKEN」、値にStep1で取得したLINE Notifyのアクセストークンを貼り付けます。
    ・2つ目:「スクリプト プロパティを追加」を再度クリックし、プロパティに「CALENDAR_ID」、値にStep2で取得したカレンダーIDを貼り付けます。
  7. 右上の「プロジェクトを保存」(フロッピーディスクのアイコン)をクリックして、設定を保存します。

こうすることで、大事な情報をコードに直接書き込まずに済むため、セキュリティが向上します。

Step4:魔法の呪文(スクリプト)をコピペしよう

準備が整いました。以下の「魔法の呪文(スクリプト)」をコピーして、GASのエディタ画面に貼り付けましょう。元々書かれているコードは全て消してから貼り付けてください。

// メインの処理を実行する関数
function main() {
  // --- 設定情報をスクリプトプロパティから取得 ---
  const properties = PropertiesService.getScriptProperties();
  const LINE_NOTIFY_TOKEN = properties.getProperty('LINE_NOTIFY_TOKEN');
  const CALENDAR_ID = properties.getProperty('CALENDAR_ID');

  // もし設定がなければ処理を終了
  if (!LINE_NOTIFY_TOKEN || !CALENDAR_ID) {
    console.log('スクリプトプロパティにLINE_NOTIFY_TOKENとCALENDAR_IDを設定してください。');
    return;
  }

  // --- 今日の日付の予定を取得 ---
  const today = new Date();
  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
  const events = calendar.getEventsForDay(today);

  // --- LINEに送信するメッセージを作成 ---
  let message = '\n【今日の予定はこちらです✨】\n';

  if (events.length === 0) {
    message += '\n今日の予定はありません。良い一日を!';
  } else {
    events.forEach(event => {
      let eventTime;
      // 終日の予定か、時間指定の予定かで表示を分ける
      if (event.isAllDayEvent()) {
        eventTime = '終日';
      } else {
        const startTime = Utilities.formatDate(event.getStartTime(), 'JST', 'HH:mm');
        const endTime = Utilities.formatDate(event.getEndTime(), 'JST', 'HH:mm');
        eventTime = `${startTime}〜${endTime}`;
      }
      message += `\n・[${eventTime}] ${event.getTitle()}`;
    });
  }

  // --- LINE Notifyにメッセージを送信 ---
  sendToLine(LINE_NOTIFY_TOKEN, message);
}

// LINEにメッセージを送信する専門の関数
function sendToLine(token, text) {
  const url = 'https://notify-api.line.me/api/notify';
  const options = {
    'method': 'post',
    'headers': {
      'Authorization': 'Bearer ' + token
    },
    'payload': {
      'message': text
    }
  };

  try {
    UrlFetchApp.fetch(url, options);
  } catch (e) {
    console.log('LINEへの通知でエラーが発生しました: ' + e.message);
  }
}

貼り付けたら、忘れずに「プロジェクトを保存」アイコンをクリックしてください。

Step5:スクリプトの実行許可とテスト送信

スクリプトがGoogleカレンダーの情報にアクセスしたり、外部(LINE)に通知したりするには、あなたが「許可」を与える必要があります。一度だけ行う作業です。

  1. エディタ上部にある関数選択のプルダウンが「main」になっていることを確認し、その隣の「実行」ボタンをクリックします。
  2. 「承認が必要です」というウィンドウが表示されるので、「権限を確認」ボタンを押します。
  3. ご自身のGoogleアカウントを選択します。
  4. 「このアプリは Google で確認されていません」という警告画面が表示されることがありますが、心配ありません。「詳細」をクリックし、下部に表示される「(プロジェクト名)(安全ではないページ)に移動」をクリックします。
  5. 最後に、このスクリプトがあなたのカレンダーを「表示」することを許可する画面が表示されるので、右下の「許可」ボタンをクリックします。

承認が完了すると、スクリプトが実行されます。数秒後、あなたのLINEに今日の予定が通知されていればテスト成功です!

Step6:毎朝自動で実行されるようにタイマーを設定しよう

最後に、このスクリプトが毎日自動で実行されるように「トリガー」を設定します。これで完成です!

  1. GASエディタの左メニューから、時計のアイコン(トリガー)をクリックします。
  2. 「トリガーが設定されていません。」と表示されるので、右下の「トリガーを追加」ボタンをクリックします。
  3. トリガーの設定画面で、以下のように設定します。
    実行する関数を選択: `main`
    イベントのソースを選択: `時間主導型`
    時間ベースのトリガーのタイプを選択: `日付ベースのタイマー`
    時刻を選択: `午前 7 時~8 時` や `午前 8 時~9 時` など、毎朝通知してほしい時間帯を選びます。
  4. 設定が完了したら、右下の「保存」ボタンをクリックします。

これで全ての作業は完了です!お疲れ様でした。これからは毎朝、指定した時間にLINEがあなたにその日の予定を教えてくれます。

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

今回は、Googleカレンダーの予定を毎朝LINEに自動通知する仕組みを作成しました。毎朝のルーティンが1つ減り、大切な予定の見落としも防げるこの小さな自動化は、日々の業務に心の余裕をもたらしてくれます。たった30分の作業で、未来のあなたの時間を節約できたのです。
今回使ったGoogle Apps Scriptは、非常に応用範囲の広いツールです。この仕組みを応用すれば、「Gmailに特定のキーワードを含むメールが来たらLINEに通知する」「スプレッドシートの特定セルが更新されたら通知する」といった、さらに高度な自動化も実現可能です。ぜひ、次の自動化にも挑戦して、生まれた時間をさらに創造的な仕事に活かしていきましょう!


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

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