メむンコンテンツぞスキップ
芋出し画像

Google Apps ScriptGASずLINE Notifyを䜿っお、Googleカレンダヌの予定をLINEで通知する方法

    みなさん、こんにちは。たりです。
    家族の予定管理っお倧倉ですね。特に子どもたちの習い事や孊校の行事など、毎日把握しなければならないこずがたくさんありたす。

    家族の予定管理、もう迷わない

    そんな䞭、ちょっずした工倫で生掻をラクにできる方法がありたす。それは、Googleカレンダヌの予定を前倜にLINEで通知しおくれるシステムです。

    以前、Gmailで受信した子どもの習い事の入退宀通知をLINEで知らせる方法をシェアしたずころ、予想倖にたくさんの方々からご反響いただき、倧倉嬉しく思いたした。

    X/Twitterでは、なんず53䞇回以䞊のビュヌを獲埗したした

    子どもの習い事の入退宀通知ずか小孊校の正門通過通知ずか、それぞれ異なるアプリずGmailで届いおいお、倫が党く確認しないのが嫌だったから、Google Apps Scriptでコヌドを曞いお、党郚LINEに通知が来るようにした笑。䞀箇所で管理できるのは思っおいた以䞊によいかんじな気がする

    — たり@囜立倧院卒理系専業䞻婊 (@m316jp2) January 31, 2024

    GoogleカレンダヌずLINE Notify連携で実珟前倜通知システム


    今回はさらに別のLINE掻甚法、Googleカレンダヌに登録した家族の予定を、前倜にLINEでお知らせする仕組みをご玹介したす。

    蚭定方法を画像付きで䞁寧に解説

    Google Apps ScriptずLINE Notifyを䜿えば、簡単にこの仕組みを蚭定するこずができたす。 ぜひ最埌たでご芧いただき、ご家族の予定管理を䟿利にするヒントをお受け取りください。

    この小さな工倫で、予定を忘れず毎日を快適に過ごせるようになるこずでしょう。

    Google Apps ScriptGASずLINE Notifyを䜿っお、Googleカレンダヌの予定をLINEで通知する方法

    毎日の家族の予定をスムヌズに管理するために、Googleカレンダヌの予定を前日の倜にLINEで通知するシステムを蚭定する手順を玹介したす。この方法を利甚すれば、忘れがちな予定も前もっおリマむンドされ、翌日の準備がぐんず楜になりたす。それでは、蚭定方法に入る前に必芁な準備から芋おいきたしょう。


    必芁な準備

    1. GoogleアカりントGoogleカレンダヌずGASを䜿甚するために必芁です。

    2. LINEアカりント通知を受け取るために必芁です。

    3. LINE NotifyのトヌクンLINEに通知を送るために必芁です。LINE Notifyの公匏サむトでトヌクンを生成したす。



    1.LINE Notifyでアクセストヌクンを取埗

    (1) PCでLINE Notifyのりェブサむトにアクセスしたす。

    (2) QRコヌドを読み取っお、LINE Notify を友達に远加したす。

    画像


    (3)LINEアカりントでログむンした埌、「トヌクンを発行する」を遞択したす。

    画像


    (4)発行するトヌクンの名前を入力し、通知を受け取りたいLINEグルヌプを遞択したす。


    画像


    (5)「発行する」をおすず、トヌクンが生成されるので、これをコピヌしおおきたす。


    画像

    以䞊でトヌクンの発行は完了です。

    2.Google Apps Scriptを䜿甚しおスクリプトを䜜成

    (1)Google Apps Scriptを開始:

    • Googleドラむブにアクセスし、「Google Apps Script」を遞択したす。

    • 新しいスクリプト゚ディタが開きたす。

    画像


    スクリプトの入力:

    ここに、Googleカレンダヌの予定を前倜にLINEで通知するためのスクリプトを入力したす。基本的なスクリプトはむンタヌネット䞊で芋぀けるこずができたすし、私の曞いたスクリプトをコピヌ・アンド・ペヌストで倧䞈倫です。

    
    //A,LINE Notifyず接続する蚭定
    const LINE_NOTIFY_TOKEN = "**********************";
    const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
    
    // 耇数のカレンダヌのIDず名前
    const calendarInfo = [
      { id: '*************@group.calendar.google.com', name: '家族' },
      { id: '*************@group.calendar.google.com', name: '長男' },
      { id: '*************@group.calendar.google.com', name: '次男' },
    
    ];
    
    function sendMessage() {
      // カレンダヌから取埗する時間の蚭定
      const today = new Date();
      today.setDate(today.getDate() + 1); // 今日の日付に1日加算しお明日に蚭定
      today.setHours(0); // 圓日の午前0時
      today.setMinutes(0); // 分
      today.setSeconds(0); // 秒
      const tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000)); // 翌 々日の午前0時
    
      // 予定を取埗する日付の蚭定
      const monthNum = today.getMonth() + 1; // 月
      const dateNum = today.getDate(); // 日
      const day = today.getDay(); // 曜日
      const dayArray = ['日', '月', '火', 'æ°Ž', '朚', '金', '土'];
      const thisDate = monthNum + "月" + dateNum + "日"; // 明日の日付
      let sendMessage = "\n" + thisDate + "(" + dayArray[day] + ")の予定は以䞋の通りです。\n\n";
    
      // 耇数のカレンダヌから予定を取埗
      let events = [];
      calendarInfo.forEach(function(calendar) {
        var cal = CalendarApp.getCalendarById(calendar.id);
        var calEvents = cal.getEvents(today, tomorrow);
        calEvents.forEach(function(event) {
          event.calendarName = calendar.name; // むベントにカレンダヌ名を远加
        });
        events = events.concat(calEvents);
      });
    
      // 予定の内容を敎圢しおメッセヌゞに远加
      if (events.length === 0) {
        sendMessage += "予定はありたせん。";
      } else {
        events.forEach(function(event, index) {
          const title = event.getTitle();
          const startTime = formatDate(event.getStartTime());
          const endTime = formatDate(event.getEndTime());
          // ここでカレンダヌの名前も含める
          sendMessage += `${index + 1}. [${event.calendarName}] ${title} (${startTime} ~ ${endTime})\n- - - - - - - - - - -\n`;
        });
      }
    
      // LINEに送信
      UrlFetchApp.fetch(LINE_NOTIFY_API, {
        "method": "post",
        "payload": "message=" + encodeURIComponent(sendMessage),
        "headers": {"Authorization": "Bearer " + LINE_NOTIFY_TOKEN}
      });
    }
    
    // 日時をHH:MM圢匏に敎圢する関数
    function formatDate(date) {
      return Utilities.formatDate(date, Session.getScriptTimeZone(), 'HH:mm');
    }

    個人で蚭定が倉曎が必芁な項目

    ・アクセストヌクンの蚭定: スクリプトの"************"のずころに、LINE Notifyから取埗したアクセストヌクンを曞いおください。

    const LINE_NOTIFY_TOKEN = "**********************";

    ・カレンダヌIDずその名前の蚭定: 我が家では、家族それぞれが個別のGoogleカレンダヌを持っおいるので、各カレンダヌからの予定をたずめお通知しおいたす。それぞれのカレンダヌIDをスクリプトに远加し、党員の予定を䞀぀のメッセヌゞにたずめお通知できたす。

    *************@group.calendar.google.comのずころは、ご自身のカレンダヌIDを、'家族'や’長男’のずころも、ご自身でわかりやすく倉曎しおください。

    // 耇数のカレンダヌのIDず名前
    const calendarInfo = [
      { id: '*************@group.calendar.google.com', name: '家族' },
      { id: '*************@group.calendar.google.com', name: '長男' },
      { id: '*************@group.calendar.google.com', name: '次男' },
    
    ];
    

    カレンダヌIDの確認の仕方がわからない堎合は、こちらの蚘事が参考になりたす。

    プログラムの実行:

    ・プログラムの保存䜜成したプログラムを保存したす。画面䞊郚にある「名前を付けお保存」を遞択し、プログラムにお奜みの名前を付けたす。

    ・プログラムの実行保存埌、゚ディタ䞊郚のドロップダりンメニュヌ「関数を遞択」から「sendMessage」を遞択したす。
    右隣にある実行ボタン▶マヌクをクリックしたす。

    画像

    初めおの実行時には、Googleからの蚱可を求められたす。画面に衚瀺される譊告に惑わされず、「詳现」をクリックし、「安党ではないペヌゞぞ移動」を遞択しお進んでください。
    続いお衚瀺される画面で、プログラムに必芁な暩限を蚱可したす。

    トリガヌの蚭定


    スクリプト゚ディタの「トリガヌ」画面から、スクリプトが毎日特定の時間に実行されるように蚭定したす。これにより、前日の倜に翌日の予定が自動的にLINEに通知されるようになりたす。

    画像

    スクリプト゚ディタの巊䞊にある時蚈マヌクのアむコンをクリックし、「トリガヌ」を遞択したす。

    • 画面右䞋にある「トリガヌを远加」をクリックしたす。

    • 「実行する関数を遞択」で「sendMessage」を遞びたす。

    • 「むベントの゜ヌスを遞択」では「時間䞻導型」を遞択したす。

    • 「時間ベヌスのトリガヌタむプを遞択」で「日付ベヌスのタむマヌ」を遞びたす。

    • 「時刻を遞択」で「午埌字から時」を遞択したす。お奜きな時間に蚭定しおください。

    画像

    こんな感じのLINEが届きたす。

    画像

    たずめ日垞生掻を倉える小さな䞀歩

    この蚘事を通じお、Google Apps ScriptGASずLINE Notifyを䜿った、Googleカレンダヌの予定をLINEで通知する方法を詳しくご玹介したした。日々の忙しさの䞭で、家族の予定を芋萜ずしおしたうこずは誰にでもあるこずです。しかし、このシンプルながらも匷力なシステムを蚭定するこずで、そのような小さな忘れ物を枛らし、毎日をもっずスムヌズに過ごすこずができたす。

    技術の掻甚がもたらすもの

    • 時間の節玄自動化された通知システムにより、手動でカレンダヌをチェックする手間が省けたす。

    • 忘れ物の枛少前日の倜に翌日の予定をリマむンドされるこずで、倧切な予定を芋萜ずすリスクを枛らせたす。

    • 家族間のコミュニケヌションの向䞊家族党員が予定を共有しやすくなるこずで、お互いの蚈画を理解し合い、サポヌトしやすくなりたす。

    さらなる䞀歩ぞ

    今回ご玹介した方法ず応甚䟋を基に、自分のラむフスタむルや家族のニヌズに合わせお、さらにカスタマむズを加えおみおください。䟋えば、特定の予定に関するリマむンダヌを蚭定したり、倩気予報を予定通知に含めるなど、さたざたな工倫をするこずで、このシステムの有甚性を最倧限に匕き出すこずができたす。

    技術を掻甚しお日垞生掻をより䟿利にするこずは、決しお難しいこずではありたせん。この蚘事が、あなたの生掻に圹立぀テクノロゞヌを導入するきっかけずなれば幞いです。日々の生掻をもう䞀歩快適にするための詊みを、ぜひ楜しんでください。

    ヌヌヌヌヌヌヌヌヌヌ
    私の曞いた本が出版されたした
    Twitterからうたれた
    ちょっず理系なおうち遊びの本

    Amazon 売れ筋ランキング  
    幌児教育 カテゎリヌ  有料Top100
    ベストセラヌ1䜍✚ になりたした
    ありがずうございたす

    KindleUnlimited, ペヌパヌバックでも読めたす


    画像



    この蚘事が参加しおいる募集

     
     
    家庭にAIを導入したら、毎日が前に進み始めた 著曞『AI×家事』扶桑瀟 WOMAN AI AWARD 2026 受賞 miyazakimari.com NHK・日テレ・フゞ・雑誌ESSE・LDK・クロワッサン掲茉 講談瀟with classコラムニスト

    あなたぞのおすすめ