Google Calendar から「タグ」を収集して、活動時間を集計します。
SHUKEIタグを含む予定
⚠️ @uniba.jp アカウントを持つユーザのみが利用可能な β 版です。
https://app.shukei.uni.ba
からサインアップしてください。
集計された活動時間は Web API 経由でアクセスできます。
OpenAPI 形式の仕様書もあります。
以下の 4 種の視点をクエリパラメータとして指定してください。
users, filterUsers, tags,
filterTags
since, untilintervalunits
これらの組み合わせに対応する「ユーザ x 期間」「タグ x 期間」のテーブル構造のデータを返します。
テーブルのセルには活動時間の集計値が入ります。
GET /api/calendar-events/rollups/userを使います。
foo と bar の活動時間が月別に集計されました。
| 2025-01-01 | 2025-02-01 | 2025-03-01 | ... | 2025-12-01 | |
|---|---|---|---|---|---|
| foo@example.com | 2000 | 1800 | 2200 | ... | 2100 |
| bar@example.com | 1500 | 1600 | 1700 | ... | 1800 |
untilで指定した日は含まれません。units パラメータに従います。同様に GET /api/calendar-events/rollups/userを使います。
foo と bar の活動時間が日別に集計されました。
| 2025-09-01 | 2025-09-02 | 2025-09-03 | ... | 2025-09-07 | |
|---|---|---|---|---|---|
| foo@example.com | 100 | 150 | 200 | ... | 120 |
| bar@example.com | 80 | 90 | 110 | ... | 130 |
filterTagsに指定されたタグに関する時間のみが集計されます。userのエンドポイントではユーザが縦の行になり、誰を選ぶかは users で指定し、集計範囲を filterTags
で指定するイメージです。
GET /api/calendar-events/rollups/tagを使います。
SHUKEI と UNIBA の活動時間が月別に集計されました。
| 2025-01-01 | 2025-02-01 | 2025-03-01 | ... | 2025-12-01 | |
|---|---|---|---|---|---|
| SHUKEI | 20.5 | 21.75 | 23.25 | ... | 24.5 |
| UNIBA | 38.25 | 35.5 | 41.75 | ... | 40.25 |
tagのエンドポイントでは、縦の行がタグになります。
同様に GET /api/calendar-events/rollups/tagを使います。
SHUKEI と UNIBA の活動時間が週別に集計されました。
| 2025-09-01 | 2025-09-08 | 2025-09-15 | 2025-09-22 | 2025-09-29 | |
|---|---|---|---|---|---|
| SHUKEI | 12.5 | 15.75 | 14.25 | 16.5 | 3.25 |
| UNIBA | 18.75 | 20.25 | 19.5 | 21.75 | 4.5 |
filterUsersに指定されたユーザに関する時間のみが集計されます。
テーブル形式ではなく、フラットなリスト形式でデータを取得したい場合は、
GET /api/calendar-events/rollups/user/flat または
GET /api/calendar-events/rollups/tag/flat を使います。
クエリパラメータは通常のエンドポイントと同じです。
レスポンスは 2 次元のテーブルではなく、各セルを個別のオブジェクトとして並べたフラットな配列になります。 集計済みデータをスプレッドシートや外部ツールに読み込む際に便利です。
集計値ではなく、予定情報そのものの一覧を返す API もあります。
認証が必要で、現在試験運用中です。
[ ]で囲まれたタグをタイトルに含む、終日でない予定のみが保存されます。