【GAS×Gemini】Googleカレンダーに地域のイベントを自動集約!エラーと戦う「等身大」の開発記録

メイン画像

こんにちは、横浜から都内へ通勤している「ままリナ」です。

平日は仕事に育児、家事のタスクに追われる毎日ですが、AIやガジェットを駆使して日々の暮らしをよりスムーズにすることを楽しんでいます。

最近、ずっと解決したいと思っていた「小さな、でも切実なストレス」がありました。

それは、「地元のイベント情報を探す手間と、情報のバラバラな管理」です。

地域のサイトやSNSは便利ですが、わざわざチェックしに行くのは大変ですよね。わが家では、学校や保育園の予定をすべて「家族のGoogleカレンダー」で一元管理しています。地域のイベントも, 同じ場所に入っていないと、結局予定が立てづらい……。

「それなら、AIに情報を探させて、自分のカレンダーに自動で書き込ませればいいのでは?」

そんなアイデアから、Google Apps Script (GAS) とAIの Gemini を組み合わせた、「自動でイベントを探して登録してくれるAI秘書」の構築に挑んでいます。


1. 私が作りたい「AIイベント収集システム」の仕組み

目指しているのは、とてもシンプルな仕組みです。

  • 自動検索:Googleカスタム検索で、住んでいる地域のキーワード(「〇〇市 イベント」など)を自動巡回。
  • AIの判定:ヒットした情報を Gemini 1.5 Flash に渡し、「これは来年のイベント?」「子ども向け?」と内容を精査。
  • 自動登録:条件に合うものだけを、私のGoogleカレンダーへ直接反映。

2. 現在、絶賛「エラー」と格闘中……!

正直にお伝えすると、実はこのシステム、まだ完成していません(笑)。

実行するたびに表示されるエラーメッセージと向き合いながら、試行錯誤を繰り返している最中です。

今回、特に私を悩ませている「3つの壁」をご紹介します。

壁①:セキュリティの壁(APIキーの管理)

コード内に直接APIキーを記述するのはセキュリティ上避けるべきです。Googleの「スクリプトプロパティ」を使って安全に管理しようとしていますが、その呼び出し方ひとつとっても、新しい学びの連続です。

壁②:設定の壁(Google Cloudの構成)

「403エラー(アクセス拒否)」との戦いです。Google Cloudの設定でAPIを有効にする手順など、正しい道筋を見つけるのに苦労しています。

壁③:無料枠の制限

最大の工夫どころは、Google検索の「無料枠」内でいかに効率よく情報を集めるかです。闇雲に検索すると上限に達してしまうため、検索クエリ(条件式)を工夫して回数を節約しています。

3. Geminiへの「プロンプト」が成功の鍵

AIへの指示出し(プロンプト)も試行錯誤しています。

単に「探して」と頼むのではなく、「JSON形式で出力して」と指定することで、システムがカレンダーに書き込みやすい形に整えてもらっています。

// プロンプトのイメージ
const prompt = "以下のテキストからイベント名、日付、場所を抽出し、JSON形式で返してください。2026年の情報でない場合は除外してください。";

4. 最後に:なぜ「自作」にこだわるのか

既存のアプリを使えば簡単かもしれません。でも、「自分のライフスタイルに合わせて、テクノロジーをカスタマイズする」。このプロセスこそが、AI時代の楽しみ方だと思うんです。

エラーが出るたびに立ち止まりますが、テスト用のスプレッドシートに1行、イベントが正しく書き込まれた瞬間の喜びは格別です。

カレンダーが「地域のワクワクする掲示板」になるその日まで、私の挑戦は続きます!

皆さんは、AIにどんな「お手伝い」を頼んでみたいですか?

もしGASやAPI活用のコツをご存知の方がいれば、ぜひコメントでアドバイスや励ましをいただけると嬉しいです!

※私はプロの開発者ではありませんが、素人なりに試行錯誤しながら、無料でGoogle AIを活用して形にしていくプロセスを共有できればと思っています。完成したら詳しくシェアしますので、ぜひ楽しみに待っていてください!

コメント