Google Calendar から「タグ」を収集して、活動時間を集計します。
SHUKEIタグを含む予定https://app.shukei.uni.ba からサインアップすると集計が始まります。
集計された活動時間は Web API 経由でアクセスできます。
以下の 3 種の視点をクエリパラメータとして指定してください。
users, filterUsers, tags, filterTags
since, untilinterval
これらの組み合わせに対応する「ユーザ 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で指定した日は含まれません。同様に 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 | 1200 | 1300 | 1400 | ... | 1500 |
| UNIBA | 2300 | 2100 | 2500 | ... | 2400 |
tagのエンドポイントでは、縦の行がタグになります。
同様に GET /api/calendar-events/rollups/tagを使います。
SHUKEI と UNIBA の活動時間が日別に集計されました。
| 2025-09-01 | 2025-09-02 | 2025-09-03 | ... | 2025-09-07 | |
|---|---|---|---|---|---|
| SHUKEI | 180 | 240 | 310 | ... | 250 |
| UNIBA | 150 | 160 | 140 | ... | 170 |
filterUsersに指定されたユーザに関する時間のみが集計されます。集計値ではなく、予定情報そのものの一覧を返す API もありますが、こちらは認証が必要です。
[ ]で囲まれたタグをタイトルに含む(終日でない)予定のみが保存されます。