【要約】Google KeepのメモをObsidianに毎日自動で届ける仕組みを作った [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者は、モバイルでの入力に優れたGoogle Keepと、知識管理に長けたObsidianの間の連携不足に直面した。KeepのメモがObsidianから見えないため、情報の所在が不明確になる課題があった。
- ・Google Keepには個人向けの公式APIが存在しない。
- ・公式の移行手段であるGoogle Takeoutは一括エクスポート用であり、継続的な同期には不向きである。
- ・Takeoutで出力される形式はMarkdownではなく、画像等の添付ファイルとの紐付けも手動作業を要する。
// Approach
筆者は、Google Cloudのサーバーレス環境を活用して、Keepのメモを自動でMarkdown化しGoogle Driveへ転送する仕組みを構築した。
- ・
gkeepapi(非公式ライブラリ)を用いてGoogle Keepからメモと添付ファイルを取得する。 - ・Cloud Scheduler、Pub/Sub、Cloud Functionsを組み合わせたイベント駆動型のパイプラインを構成する。
- ・GCSに「KeepメモIDとDriveファイルIDの対応表」を保持し、同期の冪等性を確保する。
- ・Secret Managerを用いて、認証に必要なマスタートークンを安全に管理する。
// Result
この仕組みの導入により、筆者は情報の検索性を大幅に向上させた。
- ・KeepとObsidianの二重管理が解消され、全てのメモがObsidianに集約された。
- ・「メモはKeepに書けば、明日にはObsidianに届く」という運用フローが確立された。
- ・サーバーレス構成により、運用コストを月額1ドル未満に抑えることに成功した。
Senior Engineer Insight
> 個人開発として非常に合理的かつ堅牢な設計である。非公式APIの使用というリスクに対し、Cloud Monitoringによる通知やSecret Managerによるトークン管理で、運用上の脆弱性を補完している点が評価できる。特にGCSを用いたID管理による冪等性の確保は、分散システムにおける基本を押さえた実戦的なアプローチだ。ただし、Google側の仕様変更による破壊的変更のリスクは常に考慮すべきである。