MIT LicenseBuilt for apps and AI agents that use Google Calendar
ローカル環境で動く 開発用 Google Calendar API
Google Calendar API v3 とローカル OAuth が 1 つのプロセスで動きます。Google アカウントや外部通信なしで開発やテストができます。
127.0.0.1:4173アプリ
Google SDK とテスト
Google Calendar
接続不要
- OAuth 認可
- イベント
- 繰り返しイベント
- FreeBusy
- 差分同期
- Webhook
Calendarpit
ローカルサーバー (127.0.0.1)
Calendarpit が必要な理由
Google カレンダーと連携するアプリや AI エージェントの開発では、認証の設定やテスト用データの準備に手間がかかります。実際のカレンダーでは、同じ状態で何度も試すのも簡単ではありません。Calendarpit なら、Google の認証情報なしで、Fixture を使ってローカルで繰り返し試せます。
実際の Google に接続する場合
- Google アカウント、Cloud プロジェクト、OAuth の事前設定が必要
- ネットワーク接続や共有の API クォータに左右される
- 共有カレンダーのデータがテストごとに変わり、同じ状態を再現しにくい
Calendarpit を使う場合
- 認証情報なしでローカルのテストユーザーとしてログイン
- 127.0.0.1 の単一プロセスで動き、外部通信が不要
- Fixture とリセットで毎回同じデータからテストを開始
使い方の流れ
Calendarpit を起動
1 つのプロセスで、API、ローカル OAuth、管理画面が http://127.0.0.1:4173 で動きます。
brew install iktakahiro/tap/calendarpit
calendarpit servedocker run --rm -p 127.0.0.1:4173:4173 ghcr.io/iktakahiro/calendarpit:latest接続先を Calendarpit に向ける
Google SDK はそのまま使い、OAuth と API のエンドポイントだけを上書きします。@googleapis/calendar と google-auth-library の場合は次のとおりです。
const origin = 'http://127.0.0.1:4173';
const auth = new OAuth2Client({
clientId: 'sample-app',
clientSecret: 'local-sample-secret',
redirectUri: 'http://127.0.0.1:4175/callback',
endpoints: {
oauth2AuthBaseUrl: `${origin}/oauth/authorize`,
oauth2TokenUrl: `${origin}/oauth/token`,
},
});
const api = calendar({ version: 'v3', auth, rootUrl: origin });すべてのエンドポイントはアプリを接続するで、Python、Go、Java、.NET の例は SDK の使用例で説明しています。
Fixture を使ってテスト
テストのたびに起動時の Fixture へリセットし、リクエストは管理画面で確認します。
curl -X POST http://127.0.0.1:4173/__calendarpit/reset \
-H "Content-Type: application/json" \
-d '{}'Calendarpit の機能
Google Calendar API
カレンダー、イベント、繰り返しイベント、FreeBusy、差分同期を API v3 形式で扱えます。
ローカル OAuth 認可
ローカルの同意画面でテストユーザーを選ぶだけで、パスワードなしでトークンを発行し、更新できます。
Fixture とリセット
ユーザー、カレンダー、イベント、クライアントを Fixture から投入し、テストごとに初期状態へ戻せます。
Watch Webhook
events.watch の通知をローカルのコールバックに配信し、テストから配信の完了を待てます。
管理画面
ブラウザでユーザー、カレンダー、イベントを確認して編集し、リクエスト履歴を参照できます。
未対応機能の明示的なエラー
未対応の機能は黙って無視せず、HTTP 501(unsupportedFeature)などのエラーを返します。
Calendarpit でカレンダーアプリ開発を始める
Calendarpit はローカル開発と自動テスト専用のサーバーです。ループバック上で Google Calendar API v3 の定義されたサブセットを提供します。