TL;DR
- Kindleのハイライト機能でメモした文章をNotion DBに登録するためのAppleショートカットを作った。
- 本のタイトルも含めてDB登録できるので後で見直したり、検索するのに便利。
背景
本は基本的にiPad/iPhoneのKindleアプリを使って電子書籍で読んでます。
気になった文章はハイライト機能を使ってメモしているのですが、Kindleアプリには以下制約があります。
- 全てのメモを一覧表示する機能がない
- メモを検索する機能がない
- Kindle Unlimitedの本は返却してしまうとメモも失われる
というわけで、メモした内容をNotionでDB化できないか考えました。
既存のサービスを調べてみた
調べてみたところ、booknotionというドンピシャなサービスを見つけました。
が、無料プランで登録可能なのは月1冊・・・無料では実用に耐えられません。
一方で、Appleのショートカット機能を使えばNotion APIを利用してデータベースを更新できるということを知りました。
これなら自作できそうということで作ってみました。
Kindleから渡されるテキストの構造
流れとしては、Kindleアプリ上で文章をハイライトして、共有ボタンからショートカットを起動することでNotion APIコールすれば良いはずです。
この時、以下のような4行のテキストが共有先に渡されます。
XXXXXXXX #引用文
#空行
XXXXXXXX #タイトル(出版社)・著者名
XXXXXXXX #URL
というわけで、この4行のデータを元にNotion APIを使ってデータ登録できれば良さそうです。
Appleショートカットの作成
作成したAppleショートカットについて解説します。
1. テキストからデータ抽出
受け取ったテキストをリスト化して、1行ごとにループします。
ループの際にインデックス(何行目か)を見て、引用文、タイトル、URLを判別し、それぞれの変数に格納します。
2. Notion API呼び出し準備
Notion API用のトークン、データベースID、データベースプロパティを変数に格納します。
トークン、データベースIDについては、こちらが参考になります。
Notion側のデータベースは、メモ、タイトル、URLの3列からなる構造になっています。
3. Notion API呼び出し準備
「URLの内容を取得」を使用して、Notion APIをコールします。
実行結果
ハイライトをシェアする際に作成したショートカットが表示されます。
成功すると、このようにNotion DBにメモが登録されます。
作成したショートカットをこちらにアップしておきました。
まとめ
読書メモをNotionに連携することで、Kindleアプリに頼らずメモを管理することができるようになりました。
もう少し改善できそうなのでトライしてみたいと思います。
今後の改善点
- 本のタイトルと著者名を別々のプロパティに格納できるようにする。
- 本ごとにNotionページを作成して、メモがページ内に集約されるようにする。