Notion APIの活用事例
Notion API について
developers.notion.com
Notion API は Notion にプログラムからアクセスしたり操作するためのインターフェースです。Notion API を使うことで、Notion 上のデータを外部のアプリケーションやサービスと連携させたり、様々な作業を自動化したりできます。
本記事では私が Notion API を使って行った事例を紹介させて頂きます。
Discord BOT
小中学生が運営するコミュニティのスタッフをしているのですが、ドキュメントやタスク管理に Notion を使用しています。しかし、チーム内でページを共有する際にいちいちリンクをコピーして共有するのが少し億劫になっていました。そこでコミュニケーションは主に Discord で行っているので Discord BOT に Notion のページを検索できるスラッシュコマンドを追加しました。タスクやプロジェクト管理のデータベースに限ってはステータスも表示されるようになっています。
大変だったのはタイトルプロパティ名が固定でないことです。以下のようなアロー関数でページタイトルを取得しています。
const titleProperty = Object.entries(page.properties)
.map(([, value]) => value)
.find(({ type }) => {
return type === "title";
});
この BOT のソースコードは他の機能も含め Github で公開しています。
フォロワー数推移の自動記録
こちらも先程のコミュニティ用に作成したものです。GAS のトリガーで毎日 1 回 API を叩いて各 SNS のフォロワー数などの情報を取得し、結果を Notion のデータベースに保存しています。
元々はスプレッドシートに書き込んでいたのですがオールインワンで管理したかったので Notion に統合しました。
こちらの実装方法などは機会があれば記事にしたいと思います。
Notion のデータベースからグラフを作成できるサービスなどもあるようなので色々と組み合わせると面白いかもしれません。
Apple Shortcuts
iOS や macOS にプリインストールされているショートカットアプリを使えば GET や POST など、ウェブのリクエストを行うこともできます。それを利用して Notion API を叩き様々なフローを作成しています。
Google Books API と ISBN を利用した本の登録
本の名前、または ISBN で本を検索し、Notion のページを作成するショートカットです。
Shazam した曲の保存
Shazam は音楽を聴いているときに、その曲の名前やアーティストを知りたいときに使うアプリケーションです。Shazam は Apple が保有しているのでショートカットから呼び出すことができ、その結果を Notion に保存しています。これはかなり気に入っています。
これ以外にも日記ページに書き込んだり、TMDb API を使って映画情報を取得して登録したり、服用記録を取ったり、様々なフローをショートカットは実現できます。レシピは今後公開予定です。
スプラトゥーンの戦歴自動保存
これはかなりマニアックですが、スプラトゥーン 2 の戦歴を自動的に Notion に保存する仕組みを作りました。
このページは公開しているので誰でも閲覧でき、ソースコードも公開しています。
3 バージョンも作成してある程度は仕上がっているのですがまだまだゲームの機能が出揃っておらず API の仕様変更が激しいのと、内部 API を利用している問題などもあり、スクリプトの公開はしばらく先になりそうです...🙏
最後に
他にも Notion API を使えばブログを作ったり、普段から利用している様々なツールとの連携が可能です。興味のある方は是非以下のページから試してみてください!
因みに Notion API や Shazam の説明は ChatGPT に書いてもらいました。Notion にもNotion AIというアシスタントが追加されるようなので記事執筆も楽になりそうです。
明日の Advent Calendar はみきち@Notion× 採用 × インスタの人さんの「社内に Notion をごり押し導入していった話」です。お楽しみに。
Discussion