はじめに
Google Tasksを使っていると、「タスクはGoogle側にある」「作業記録はObsidian側にある」という感じで、情報が分かれがちである。
今回、ObsidianのDaily NoteにGoogle Tasksを表示し、さらにDataviewで今日のタスクと完了タスクを見えるようにした。
結論から言うと、日報にタスクを全部コピーするより、タスク本体は別ファイルに置き、Daily Noteには今日必要な分だけ表示するのがよかった。
- はじめに
- やりたいこと
- 使った技術スタック
- フォルダ構成
- タスクの書き方
- 今日のタスクをDaily Noteに表示する
- 完了したタスクを表示する
- 期限切れタスクも見えるようにする
- Google CalendarブロックでTasksを表示する
- セキュリティ上の注意
- Before / After
- まとめ
やりたいこと
今回の目的はシンプルである。
Google Tasks / Google Calendar ↓ ObsidianのDaily Noteに今日の予定・タスクを表示 ↓ 作業結果を日報に記録 ↓ 週報・月報・AI分析に使う
つまり、日報を「タスクを大量に置く場所」ではなく、「今日実際に何をやったかを残す場所」にしたい。
タスク一覧を日報にベタ書きすると、その日のログなのか、未完了タスク置き場なのか、だんだん分からなくなる。過去の日報を見返したときにも、「これはその日にやったことなのか、ただ表示されていただけなのか」が曖昧になる。
なので、今回は役割を分けた。
- Google Tasks: 入力元
- Obsidianのタスクファイル: ローカルで管理するタスク置き場
- Daily Note: 今日分だけ表示する場所
- 日報本文: 実行結果と気づきを書く場所
使った技術スタック
今回使ったものは以下になる。
- Obsidian
- Daily Note
- Dataview
- Google Calendar Importer
- Google Calendar API
- Google Tasks API
- Markdown
確認時点では、Obsidian側で dataview と google-calendar-importer が有効になっていた。
Google APIの読み取りテストも行い、Calendar APIとTasks APIの両方が読めることを確認した。Google Tasks APIでは、タスクリスト2件とサンプルタスク5件を取得できた。
フォルダ構成
今回の構成はこうした。
ObsidianVault/
├─ 02_Logs/
│ └─ Daily/
│ └─ YYYY-MM-DD.md
├─ 02_Tasks/
│ └─ google_tasks.md
└─ 90_System/
└─ templates/
└─ Daily_Log_Template.md
ポイントは、Daily Noteにタスク本体を置きすぎないことである。
タスク本体は 02_Tasks/google_tasks.md のような専用ファイルに置く。Daily NoteはDataviewでその日必要なタスクだけ引っ張る。
タスクの書き方
Obsidian側でDataviewに拾わせるため、タスクには期限を付ける。
- [ ] Google Tasks同期テスト [due:: 2026-06-07]
完了したら、チェックを入れて完了日も付ける。
- [x] Google Tasks同期テスト [due:: 2026-06-07] [completion:: 2026-06-07]
これで「今日やるタスク」と「今日完了したタスク」をDaily Note側で分けて表示できる。
最初は面倒に見えるが、慣れるとかなり便利である。日付の情報があるだけで、あとから週報や月報に流し込みやすくなる。
今日のタスクをDaily Noteに表示する
今日が期限で、まだ完了していないタスクを表示するDataviewはこれ。
TASK FROM "02_Tasks" OR "02_Logs/Daily" WHERE !completed WHERE due = date(today) SORT due ASC
これをDaily Noteテンプレートに入れておけば、その日にやるタスクだけが表示される。
日報を開いた瞬間に「今日何をするんだっけ」が見えるので、朝の確認が少し楽になる。
完了したタスクを表示する
今日完了したタスクを表示する場合はこうする。
TASK FROM "02_Tasks" OR "02_Logs/Daily" WHERE completed WHERE completion = date(today) SORT completion DESC
この表示があると、夜に日報を書くときに便利である。
「何をやったっけ」と考えなくても、完了したタスクがそのまま見える。あとは、そこに作業の中身や気づきを足せば日報になる。
期限切れタスクも見えるようにする
未完了のまま期限を過ぎたタスクも表示しておく。
TASK FROM "02_Tasks" OR "02_Logs/Daily" WHERE !completed WHERE due < date(today) SORT due ASC
これを入れておくと、放置しているタスクが見える。
正直、見たくないものが見える。だが、見えないよりはマシである。タスク管理は精神論ではなく、見える場所に置いておくのが強い。
Google CalendarブロックでTasksを表示する
Google Calendar Importerを使う場合、Daily Noteに次のようなブロックを置く。
{
"date": "2026-06-07",
"refreshInterval": 60,
"showEvents": true,
"showTasks": true,
"title": "Calendar for 2026-06-07"
}
重要なのはこの2つ。
"showEvents": true "showTasks": true
showTasks が true になっていれば、Google Tasksも表示対象になる。
Calendarの予定だけ出て、Tasksが出ない場合は、この設定か認証状態を見るとよい。
朝・作業中・夜の運用
運用は難しくしない。
朝にやること。
- Obsidianで今日のDaily Noteを開く。
- Google Calendarブロックに予定とタスクが出るか確認する。
- Dataviewの「今日のタスク」を見る。
- 必要なら
02_Tasks/google_tasks.mdにタスクを追加する。
作業中にやること。
- 終わったタスクにチェックを入れる。
[completion:: YYYY-MM-DD]を付ける。- 詰まったことがあれば日報にメモする。
夜にやること。
- 今日完了したタスクを見る。
- 「今日やったこと」を書く。
- 「うまくいったこと」「詰まったこと」「明日に回すこと」を書く。
最初から完璧な日報にしようとすると続かないので、まずはこれで十分だと思う。
## 今日やったこと - ## うまくいったこと - ## 詰まったこと・失敗したこと - ## 明日に回すこと -
うまくいかなかったところ
今回の確認中に、いくつか詰まった。
まず、検索に使おうとした rg.exe がWindows環境でアクセス拒否になった。そのため、PowerShellの Get-ChildItem と Select-String で調査した。
また、Obsidianプラグインの main.js はバンドル済みで巨大だったため、普通に全文検索すると重かった。こういうときはプラグイン本体を深掘りするより、設定ファイル、Daily Noteの表示ブロック、APIの読み取り確認を順番に見るほうが早い。
確認の順番はこうでよい。
- Obsidianで対象プラグインが有効か見る。
- Daily Noteに表示用ブロックがあるか見る。
showTasksがtrueか見る。- Google Calendar APIが読めるか見る。
- Google Tasks APIが読めるか見る。
この順番なら、どこで詰まっているか分かりやすい。
セキュリティ上の注意
ここは大事である。
Google Calendar Importerの設定ファイルには、Googleの認証情報が保存される場合がある。
.obsidian/plugins/google-calendar-importer/data.json
この中身をブログ、GitHub、共有ZIPなどに含めてはいけない。 特に、アクセストークンやリフレッシュトークンが含まれている場合がある。これはパスワードそのものではないにせよ、扱いを間違えると危険である。 なので、Vaultを共有したり、バックアップをZIPにしたり、AIに調査してもらったりするときは、認証情報を含むファイルを除外する。
Before / After
導入前はこうだった。
Google Tasksを見る Obsidianの日報を見る 作業ログを書く でもタスクと日報が分かれていて、あとから見返しにくい
導入後はこうなる。
Daily Noteを開く 今日の予定とタスクが見える 完了したタスクも見える そのまま日報に作業結果を書ける 週報や月報にも流しやすい
まとめ
Google TasksをObsidianの日報に組み込むなら、日報に全部を保存するより、次の形が使いやすい。
タスク本体: 02_Tasks 今日の表示: Daily Note 完了ログ: Dataview 作業記録: 日報本文
今回の確認では、DataviewとGoogle Calendar Importerを組み合わせることで、Google TasksとDaily Noteをつなげられることが分かった。 またこれらはGoogle Tasksで普段管理をするのが楽だからこうしているが、別に使わないのであるならば要らないと思う。