【コピペでOK】Googleカレンダーの予定を毎朝LINEに自動通知!30分でできる設定ガイド

業務改善

フリーランスや経営者の皆さん、毎朝のタスク確認、手作業でやっていませんか?「朝のバタバタで今日の重要なアポを忘れるところだった…」「複数のカレンダーをチェックするのが面倒…」なんて経験、一度はあるのではないでしょうか。一日の始まりは、その日の生産性を大きく左右する大切な時間。スケジュール確認に手間取っていては、もったいないですよね。この記事では、そんなあなたの毎日を少しだけ楽にするためのIT活用術をご紹介します。具体的には、あなたがいつも使っているGoogleカレンダーに登録された「その日の予定」を、毎朝自動でLINEに通知してくれる仕組みの作り方を、専門知識がなくても大丈夫なように、ステップ・バイ・ステップで丁寧に解説します。この記事を読み終える頃には、あなただけの「優秀なデジタル秘書」が完成しているはずです。もう、予定の見落としを心配する必要はありません!

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

まずは、これから作る仕組みがどんな流れで動くのか、全体像を掴んでおきましょう。以下の図のように、Googleのサービスが指定した時間にGoogleカレンダーの情報を取得し、それをLINEに送ってくれる、というシンプルな構成です。

graph TD
    A[【毎日定刻】
GASトリガーが起動] --> B[Googleカレンダーに
アクセス]; B --> C[今日の予定データを取得]; C --> D[取得した予定を
LINEで送るメッセージに整形]; D --> E[LINE Messaging APIへ
メッセージデータを送信]; E --> F[あなたのLINEに
今日の予定が届く!];

ステップ0:事前準備

本格的な作業に入る前に、必要なものを揃えておきましょう。ほとんどが無料で使えるアカウントです。

  • Googleアカウント:普段お使いのものでOKです。Googleカレンダーや、今回の自動化の主役であるGoogle Apps Script(GAS)を利用するために必要です。
  • LINEアカウント:通知を受け取るための、ご自身のLINEアカウントです。
  • LINE Developersアカウント:LINEにメッセージを送るための「API」という機能を使うために必要です。お持ちのLINEアカウントで簡単に作成できます。
  • (推奨)パソコン:いくつかの設定画面を切り替えながら作業するため、スマートフォンよりもパソコンでの作業がおすすめです。

※JavaScriptの知識があるとコードの理解が深まりますが、今回は基本的にコピー&ペーストで進められるので、プログラミング経験がなくてもご安心ください!

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

準備が整ったら、いよいよ構築スタートです!一つ一つの手順を丁寧に進めていきましょう。

Step1:LINEで通知を受け取る準備をする(Messaging API設定)

まずは、プログラムからLINEへメッセージを送るための「通行手形」を取得します。

  1. LINE Developersにログイン:まず、「LINE Developers」の公式サイトにアクセスし、お持ちのLINEアカウントでログインします。
  2. プロバイダーの作成:ログイン後、「プロバイダー」という項目がなければ、「作成」ボタンを押して新しいプロバイダーを作ります。名前はご自身の名前や会社名など、分かりやすいもので大丈夫です。プロバイダーとは、開発元情報のようなものです。
  3. チャネルの作成:「作成したプロバイダー」を選択し、「チャネル設定」のセクションにある「チャネルを作成する」をクリックします。
  4. Messaging APIを選択:チャネルの種類を選ぶ画面が表示されるので、「Messaging API」を選択します。
  5. チャネル情報の入力:チャネル名(例:「スケジュール通知Bot」)、チャネル説明、カテゴリーなどを入力し、利用規約に同意して「作成」ボタンを押します。
  6. アクセストークンの発行:作成したチャネルの管理画面が開きます。「Messaging API設定」タブに移動し、ページの下の方にある「チャネルアクセストークン」の項目で、「発行」ボタンをクリックします。表示された英数字の長い文字列が「アクセストークン」です。この文字列は後で使う非常に重要なものなので、クリックしてコピーし、メモ帳などに貼り付けて大切に保管しておきましょう。

Step2:自動化の心臓部を作る(Google Apps Script準備)

次に、GoogleカレンダーとLINEを繋ぐプログラムを設置する場所を用意します。

  1. Googleドライブを開く:ご自身のGoogleドライブにアクセスします。
  2. 新規スクリプトを作成:左上の「+ 新規」ボタンをクリックし、「その他」>「Google Apps Script」を選択します。(もし見当たらない場合は、「アプリを追加」から検索して追加してください)
  3. プロジェクトに名前を付ける:新しいタブでスクリプトエディタが開きます。左上の「無題のプロジェクト」をクリックし、「カレンダーLINE通知」など、分かりやすい名前に変更して「名前を変更」をクリックします。
  4. 初期コードの削除:エディタに最初から書かれている `function myFunction() { … }` という部分は不要なので、全て選択して削除しておきましょう。

Step3:カレンダーへのアクセス許可を出す

このステップは、後ほどコードを初めて動かす際に自動的に行われる手続きですが、事前に流れを説明しておきます。作成したスクリプトがあなたのGoogleカレンダーを読み取れるように、「許可」を与える作業です。

コードを実行すると、「承認が必要です」というポップアップが表示されます。

  1. 「許可を確認」ボタンをクリックします。
  2. 自分のGoogleアカウントを選択します。
  3. 「このアプリは Google で確認されていません」という警告画面が表示されることがあります。これは、あなたが今まさに作っている自作のプログラムだからです。慌てずに左下の「詳細」をクリックし、「(先ほど付けたプロジェクト名)(安全ではないページ)に移動」をクリックします。
  4. 最後に、「カレンダーの表示」などを許可するか尋ねられるので、右下の「許可」ボタンをクリックします。

これで、スクリプトがあなたのカレンダーを操作する権限を得られます。

Step4:魔法の呪文を書き込む(GASスクリプト記述)

いよいよ、自動化の具体的な処理を記述していきます。以下のコードをすべてコピーし、Step2で用意したGoogle Apps Scriptのエディタに貼り付けてください。

// ========== ここから設定 ========== 

// Step1で取得したLINEのチャネルアクセストークンを貼り付け
const CHANNEL_ACCESS_TOKEN = 'ここにあなたのチャネルアクセストークンを貼り付け';

// 通知を送りたいLINEのユーザーIDを貼り付け
// ※Messaging APIのチャネルを友だち追加した際にWebhookで送信されるイベントログ等から確認できます
const USER_ID = 'ここにあなたのLINEユーザーIDを貼り付け';

// 予定を取得したいGoogleカレンダーのIDを貼り付け
// ※カレンダー設定の「カレンダーの統合」セクションにあります
const CALENDAR_ID = 'your_calendar_id@group.calendar.google.com'; 

// ========== ここまで設定 ==========

// この関数が実行されます
function main() {
  // 今日の日付の予定を取得
  const today = new Date();
  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
  const events = calendar.getEventsForDay(today);

  let messageText = ''; // 送信するメッセージを入れる変数

  if (events.length === 0) {
    // 予定がない場合のメッセージ
    messageText = 'おはようございます!\n本日の予定はありません。素敵な一日を!';
  } else {
    // 予定がある場合のメッセージを作成
    const formattedDate = (today.getMonth() + 1) + '月' + today.getDate() + '日';
    messageText = 'おはようございます!\n【本日の予定:' + formattedDate + '】\n';

    events.forEach(function(event) {
      const title = event.getTitle();
      const startTime = formatTime(event.getStartTime());
      const endTime = formatTime(event.getEndTime());
      
      if (event.isAllDayEvent()) {
        messageText += '\n・' + title + ' (終日)';
      } else {
        messageText += '\n・' + startTime + ' - ' + endTime + ' ' + title;
      }
    });
    messageText += '\n\n今日も一日がんばりましょう!';
  }

  // 作成したメッセージをLINEに送信
  sendLineMessage(messageText);
}

// LINEにメッセージを送信する専門の関数
function sendLineMessage(message) {
  const url = 'https://api.line.me/v2/bot/message/push';
  const headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN
  };

  const payload = {
    'to': USER_ID,
    'messages': [
      {
        'type': 'text',
        'text': message
      }
    ]
  };

  const options = {
    'method': 'post',
    'headers': headers,
    'payload': JSON.stringify(payload)
  };

  UrlFetchApp.fetch(url, options);
}

// 時間を「HH:MM」形式に整える専門の関数
function formatTime(date) {
  const hours = ('0' + date.getHours()).slice(-2);
  const minutes = ('0' + date.getMinutes()).slice(-2);
  return hours + ':' + minutes;
}

貼り付けたら、コードの冒頭にある「ここから設定」エリアの3箇所を、あなたの情報に書き換えてください。

  • CHANNEL_ACCESS_TOKEN:Step1でメモしたチャネルアクセストークンを貼り付けます。
  • USER_ID:あなたのLINEユーザーID(`U`から始まる文字列)を貼り付けます。これはMessaging APIのチャネル(Bot)を友だち追加した際に通知される情報を元に確認します。確認方法が分からない場合は「LINE User ID 確認方法」などで検索してみてください。
  • CALENDAR_ID:GoogleカレンダーのIDを貼り付けます。これは、Googleカレンダーを開き、対象のカレンダーの横にある「︙」から「設定と共有」をクリック、「カレンダーの統合」セクションにある「カレンダー ID」をコピーして使います。

書き換えが終わったら、フロッピーディスクのアイコン(プロジェクトを保存)をクリックして保存しましょう。

Step5:毎日自動で実行する設定(トリガー設定)

最後に、このプログラムを毎朝決まった時間に自動で実行するように設定します。これが「トリガー」です。

  1. GASエディタの左側メニューから、時計のアイコンの「トリガー」をクリックします。
  2. 画面右下の「トリガーを追加」ボタンをクリックします。
  3. 設定画面が表示されるので、以下のように設定します。
    実行する関数を選択: `main` を選びます。
    実行するデプロイを選択: `Head` のままでOKです。
    イベントのソースを選択: 「時間主導型」を選びます。
    時間ベースのトリガーのタイプを選択: 「日付ベースのタイマー」を選びます。
    時刻を選択: 「午前 7 時~8 時」など、通知を受け取りたい時間帯を選びます。
  4. 設定が終わったら「保存」ボタンをクリックします。これで設定はすべて完了です!

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

お疲れ様でした!これで、毎朝指定した時間に、あなたのLINEへその日のGoogleカレンダーの予定が自動で届くようになりました。もう朝の忙しい時間にスケジュールを確認し忘れる心配はありません。このように、一度設定してしまえばあとは自動で働いてくれるのがIT活用の素晴らしいところです。

今回作った仕組みは、ほんの始まりに過ぎません。少し応用すれば、「明日の予定を前日の夜に通知する」「特定のキーワード(例:『会議』)が含まれる予定だけを通知する」といったカスタマイズも可能です。自動化で生まれた少しの時間を、ぜひあなたのビジネスを加速させるための、もっと創造的な仕事に使ってくださいね!


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

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