ブクログとNotionを連携する by Zapier
読書記録はブクログでつけています。
2007年に開始しているので、もう16年目になり、登録数も3500を超えています。
機能的には不満もあるのですが、UIにほどよく可愛げがあって好き。
で、機能面の不満のひとつ、集計の自由度が低いところを改善すべく、ブクログの登録内容を Notion に連携し、
Notion で好きな切り口で集計できるようにしました。
Evernote との連携は多かったのですが、Notionへの連携は見かけなかったので、連携手順を記録しておきます。
Step1 ブクログのデータをエクスポートし、Notionへインポート
エクスポート
まず登録済みのデータを移管します。
エクスポートはこちらからできます。 https://booklog.jp/export
CSVの整形
不要なカラムを消したりします。
必ずやっておいたほうがいいことが3つ。
- 文字コードを Shift-JIS --> UTF-8 に変換する
ブクログは前者、Notionは後者だったので。
やりかたはググってください。 - ヘッダ行追加
Notionにインポートしたとき、1行目がプロパティ名になります。 - タイトル列を一番左へ移動する
これは必須でもないですが、Notionにインポートすると自動的に左端が Name プロパティ扱いになります。
リレーションとかで表示されるのは Name の値なので、タイトルにしておくのが扱いやすいです。
私は IBSN を Name プロパティにしちゃって後悔している。
Notionインポート
3000件もデータがあるとなかなか時間かかります。
Step2 ブクログへ本を登録するたびに Notion へ追記する仕組み作成
ブクログのRSSフィードを利用します。 https://booklog.jp/users/(ブクログユーザーID)/feed
RSSを受け取ってNotionにデータを作成するところは Zapier を使います。
似たような仕組みに IFTTT がありますが、IFTTT と Notion の連携は Notion 側が To-Do リストでないとデータ作成できなかったので。
Zapier のレシピは大まかに以下のとおりです。
あんまり細かいことは書かないので Zapier の使い方とかはググってください。
1. RSS by Zapier
2. Formatter by Zapier
ブクログのRSSにISBN単体で入ってる項目がなかったので、ブクログのアイテムURLから取得しています。
- Transform : Split Text
- Values :
https://booklog.jp/users/...
の値が入ってる項目を選択 - Separator :
/
- Segment Index : Last
3. Notion
- Event : Create Database Item
- アカウント: 自分の Notion にログインしたら対象のデータベースが選択できる
- あとは好きなように Notion 側のプロパティへRSSで取得された情報を紐付けるだけ
RSSは情報が少なくて、作者すら埋められないのでデータとしてはさみしいです。
OpenDB のAPI使って著者や書影取ってきて……というところまで考えたのですが、実装するのがめんどくさくてやめました。
Zapier でそこまでできればよかったんですけど、Web Hook は有料版でないと使えない。
Lamda とかで動かせば無料枠でできそうだけど、そこまでやりたくない。
当初の目的は集計することだったので、とりあえず Notion にデータが入ればいいのだ。
Webサービスはどんなに当初良いものであっても次第にオワコン化していくものだ、といい加減悟ったので、
Webサービス上にデータを残すことに力を入れないほうがいい、というのが最近の見解です。
なのであんまり凝ったことしない。