这是indexloc提供的服务,不要输入任何密码
Skip to content

Sunwood-ai-labs/GAS-BabyLogs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GAS Baby Logs Automation

Google カレンダーに記録された赤ちゃんのお世話ログ(おむつ替え・授乳など)を Google スプレッドシートへ自動集計する Apps Script プロジェクトです。抽出したデータをカテゴリ別に整形し、日別・月別サマリや可視化グラフをワンクリックで生成できます。さらに、授乳(ミルク)タイムの定期予定を自動で作成・削除するユーティリティも用意しています。

主な機能

  • 📥 イベント抽出: 指定した共有カレンダーから過去〜未来のイベントを取得し、カテゴリ判定(うんち/しっこ/両方)とミルク実績(ml)を解析します。
  • 🧹 データ整形: 取得したイベントを baby_logs シートへ書き込み、授乳イベントには自動で ミルク量(ml) 列を付与。ヘッダー固定・フィルタ・自動列調整も実施します。
  • 📊 集計 & グラフ: baby_summary シートに日別・月別テーブルとグラフ 5 種(直近 30 日の積み上げ棒、月別棒、カテゴリ内訳円グラフ、ミルク日別/月別棒グラフ)を生成します。
  • 🍼 ミルクタイム支援: 毎日 8 本のミルクタイム定期予定を作成/削除するメニューを提供。リマインダーや色設定も自動化。
  • ⚙️ カスタマイズ容易な設定: config.gs に主要パラメータを集約。カレンダー ID やキーワード、タイムゾーンなどを一元管理できます。

セットアップ手順

  1. Google スプレッドシートを作成し、メニュー「拡張機能」→「Apps Script」を開きます。
  2. 既存ファイルを削除し、このリポジトリの .gs ファイルと appsscript.json をコピーして貼り付けます。
  3. config.gsSETTINGS.CALENDAR_IDS を使用したい共有カレンダー ID に書き換えます。
    • 秘密の ics URL や cid= 付き URL を貼り付けても自動で正規化されます。
    • primary を含めると個人カレンダーの予定が混ざるため推奨しません。
  4. 必要に応じて取得期間(DAYS_BACK / DAYS_AHEAD)やカテゴリキーワードを調整します。
  5. スクリプトを保存し、extractBabyLogs を初回実行して権限を付与します。
  6. スプレッドシートに baby_logs シートが生成され、抽出結果が表示されます。

便利なメニュー

スプレッドシートを開くと、メニューに以下が追加されます。

  • 👶 Baby Logs
    • 抽出 → 集計 → グラフ(全部やる): runAll() を実行し、イベント取得から集計まで一気に処理。
    • データ抽出のみ(カレンダー → baby_logs): extractBabyLogs() のみ実行。
    • 集計&グラフのみ(baby_summary 更新): aggregateAndChart() のみ実行。
  • 🍼 Milk Setup
    • ミルクタイム定期予定を作成: setupMilkTime() を実行し、毎日 8 本の定期予定を作成。
    • ミルクタイム定期予定を削除: deleteMilkTimeSeries() を実行し、タイトルが 🍼ミルクタイム から始まる定期予定・単発予定を削除。

ファイル構成

ファイル 役割
config.gs カレンダー ID やミルクタイム設定を含むグローバル設定。
utils.gs ログ出力・日付/テキスト処理・シート操作などの共通ユーティリティ。
extraction.gs カレンダーイベントを抽出し baby_logs シートへ書き込むメイン処理。
aggregation.gs 日別・月別集計とグラフ生成 (runAll / aggregateAndChart)。
milkSetup.gs ミルクタイム定期予定の作成・削除ユーティリティ。
menus.gs スプレッドシート起動時にメニューを追加。
appsscript.json Apps Script プロジェクト設定(タイムゾーン、ランタイム等)。

トリガー設定

  • 毎朝自動更新したい場合は createDailyTrigger() を一度実行してください。以後、午前 7 時に extractBabyLogs が実行されます。
  • GAS のトリガーはスクリプトエディタの「トリガー」メニューから確認・削除できます。

カスタマイズのヒント

  • カテゴリ判定を増やしたい場合は、utils.gsdetectCategory を拡張するか、タイトル分類ロジックを変更してください。
  • シート名を変更した場合は config.gsSHEET_NAMESUMMARY_SHEET を合わせて更新します。
  • ミルクタイムの本数や時間帯を変える場合は MILK_SERIES_SETTINGS の各値を調整します。

ライセンス

このプロジェクトは MIT License で提供されています。自由にカスタマイズしてご利用ください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •