Notion APIで何ができるのか
今人気の「Notion」はさまざまなワークフローが一元管理できるオール・イン・ワンの情報共有ツールです。「Notion」では、「Notion APIが」公開され、さまざまなWebサイト、外部サービス、アプリケーションとのAPI連携が可能となっています。
この記事では、「Notion API」とは何か、具体的には何ができるのかについて、図解を交えて使い方を解説していきます。Notionをさらに活用する上で、Notion APIは強力なツールになりますので、ぜひ利用してみてください。
【参考】:Notion (ノーション) – 全てのチームをひとつのワークスペースで 【参考】:Notion API
そもそもNotionとは
Notionは米国Notion Labs Incが開発したクラウドツールです。主にチームやプロジェクトでタスクやスケジュールなどのワークフローやドキュメントを一元管理する機能を備えます。クラウドをベースとしたNotionは、世界中のどこからでも同時に利用ができます。
豊富なテンプレートが用意されているため、ほとんど手を加えず、すぐに使えるのが特徴です。
Notionには直接ブラウザを用いて利用する「Web版」、ダウンロードして利用する「Desktop版」、スマホなどから利用する「mobile版」の3種類があり、時間や場所を問わず、いつでも利用ができます。
【参考】:※Notionで作られた企業サイト事例集
APIとは
APIは「Application Programming Interface」の略語で、ソフトウェアやアプリケーション、Webサービス同士でやり取りを行う際のインターフェースのことです。
現在、APIは多くのアプリケーションやプラットフォームで広く活用されています。その結果、異なるアプリケーションやサービスの連携が可能になり、新しい機能の組み込みや、データの共有が容易になっています。
Notion APIでできることの具体例
では、実際にNotion APIを利用するとどんなことができるのでしょうか。代表的な具体例をいくつか紹介します。
外部アプリと情報の同期ができる
Googleカレンダーなどのカレンダーアプリや、プロジェクト管理ツール、タスク管理サービスと連携させることで、情報の同期が可能になります。例えば、新しいタスクがNotionに追加された場合、外部アプリケーションにも同期させられるため、効率が各段にアップします。
通知などの自動化ができる
Notion APIを利用すれば、特定の条件に応じて自動化の設定ができます。例えば、Notionでは十分な通知機能がなく、若干不便を感じることがあるかもしれません。
そんなとき、新しい情報がNotionに追加されたら、Slackなどの外部ツールにメッセージを送るというワークフローを作成すれば、Slackから通知を受け取れるので情報の見逃しを減らせます。
Notionの構成要素
Notion APIを理解するには、Notionの構成要素を理解しておく必要があります。ここでは、Notionのコンポーネントについて解説していきます。
【参考】:Notion API リファレンス
Notionの基本コンポーネント
Notionは内部的なコンポーネントから成り立っています。コンポーネントには「データベース」「ページ」「テーブル」「ブロック」があります。以下、それぞれのコンポーネントの概要や利用できるAPI機能について解説をします。
データベース(DATABASES)
Notion を構成しているコンポーネントの中で最も大きい項目が、このデータベースです。データベースは「ページ」などを1つにまとめて管理します。また、ページはテーブルやボードの形でも管理することができます。
データベースが対応するAPIとしては、「クエリ」「ID検索」や「ページ作成」「情報更新」などがあります。
ページ(PAGES)
Notionにおけるページは、ドキュメントの中心的存在です。ページの中に記事やメモなどのコンテンツが作成されます。ページに対応するAPIとしては「ID検索」「作成」「更新」「ページ取得」などがあります。ページのAPIにはデータベースのようなクエリがありません。
ブロック(BLOCKS)
Notionにおけるプロックとはテキスト、画像、テーブルなど、ページに対して追加するコンテンツのことです。Notionはブロックエディタ方式(WordPressのようにHTMLやCSSを知らなくとも書ける方式)を採用し、簡単にドキュメントの装飾が行えるマークダウン記法となっています。
ページに対応するAPIとしては、「ID検索」やブロックの「作成」、ページの「更新」、ブロックの「削除」などがあります。
サーチ(Search)
サーチにおけるAPIは「クエリ」のみですが、APIによるアクセスが許可されている全てのページ、データベース、子ページやデータベースの検索が可能です。
クエリパラメータはページタイトルと照合されますので、クエリパラメータを指定しない場合には全てのページ(および子ページ)がクエリの結果に含まれます。「Filter」パラメータが使用でき、ページのみ、もしくはデータベースのみを指定してクエリの実行ができます。
Notion APIに触れてみる
ここまでNotion APIの概要、できること、構成要素などについて紹介をしました。ここでは実際に、どのようにAPIを使うのかについて以下の流れで説明していきます。
1. データベースを共有するためのプロジェクト(私のインテグレーション)を作成します。
2.「私のインテグレーション」でSecretコードを発行し、ユーザーを招待します。
「私のインテグレーション」
「私のインテグレーション」にアクセスします。上の画面が表示されたら、画面左の「+新しいインテグレーション」を選択し、基本情報のページに遷移したら、各項目を入力します。
①には任意のプロジェクト名(ここでは仮にTEST API)を入力します。
②はログインユーザーのアカウント名が表示されていますが、選択候補が選択できる場合には選択してください。他の項目はデフォルトのままで構いません。①と②の入力と確認が済んだら、
③の[送信]ボタンをクリックします。「私のインテグレーション」に新たなインテグレーション(TEST API)が作成できていることを確認できます。
作成した「インテグレーション」をクリックすると、その詳細とシークレットのトークンを確認できます。トークンはインテグレーションの「TEST API」にアクセスする重要なキーです。
上の「シークレット」画面が表示されたら、Secret Codeをメモ帳などにコピペしておきます。
データベースに「TEST API」を招待する
ここまでで「私のインテグレーション」でTEST APIのインテグレーションを作成しました。これからTEST APIで操作を行うデータベースにアクセスするため、データベースにTEST APIを招待します。
この招待によって、TEST-APIにデータベースへのアクセス権限が付与され、該当のデータベースの操作を行うことができるようになります。
■ Notionを開き共有するデータベースを選択する
既存のデータベースへのアクセス権を「TEST API」に付与するため、Notionのトップページを開き、操作するデータベースを選択します。
ここでは「ToDo」を選択しました。データベース「ToDo」の画面右上にある[共有]を選択し、[招待]から先ほど作成したイングレーション「TEST API」を選択します。併せて招待するものに対する編集権限の設定が行えます。
また、この「共有」や「招待」機能を利用して、Notionに登録していないユーザーをNotionメンバーに追加することもできます。
※Notionからメールアドレスで一般ユーザーを招待すると、被招待者には次のような招待メールが届きます。メールの中央にある[表示するにはここをクリック]のボタンをクリックするとNotionの「ToDo」ページにアクセスして、被招待者は与えられた権限に応じた操作が行えるようになります。
データベースを操作する
作成した「インテグレーション」にデータベースのアクセス権限付与が行われました。これで、APIを利用したデータベースへのアクセスが可能になりましたが、データベースの操作をする際には、「トークン」と「データベースID」が必要です。
①トークンは「私のインテグレーション」ページ( https://www.notion.so/my-integrations )から発行したものを利用します。
②データベースIDは先ほどのToDoのURL( https://www.notion.so/----?v=---- )の( www.notion.so/ )と( ?v= )の間の32文字です。
URL中に( www.notion.so/myworkspace/ )のようにワークスペース名がある場合には、その直後の文字列を使用します。
WindowsでNotion APIの操作を行うには、ターミナルからCurlコマンド※が利用すると良いでしょう。他にもNotionでは様々なAPIやSDKが公開されています。また、GAS(Google Apps Script )※1やプログラム言語のPython※2などでNotion APIを利用することも可能です。
こうしたツールや言語を利用して、今後さらにNotion APIの活用が広まっていくことでしょう。
※ターミナル上でCurlコマンドを用いた例
【参考】:※Cirl |command line tool and library for transferring data with URLs 【参考】:makenotion/notion-sdk-js|GitHub - 【参考】:※1Google Apps Script| Google Workspace 【参考】:※2プログラミング言語 Python 総合情報サイト - python.jp
Notion APIの学習におすすめの参考書
ここからはNotionのデータベースやAPI連携について、より深く学んでみたいという方におすすめの本を2冊紹介します。Notionはデフォルトの状態でも便利に使えるツールですが、NotionのデータベースはAPIを利用することで、さらに便利に利用できるため、学習を進めることをおすすめします。
もっと思い通りに使うための Notion データベース・API活用入門
Notionの初歩的な使い方からAPI連携の方法、応用までを幅広く網羅した参考書です。本書の後半ではPythonからNotion APIを利用する方法、JSから利用する方法も解説されています。Notionをもっと活用してみたいという方におすすめします。
▪著者:掌田津耶乃 ▪ページ数:328ページ ▪出版社:マイナビ出版 ▪発売日:2022/08/26
【参考】:もっと思い通りに使うための Notion データベース・API活用入門
Notion API活用術
Notion APIの概要から利用準備に加えて、APIで取得したJSONデータの構造や、サンプルアプリについても解説されています。系統立てて詳しく説明されているので、APIのリファレンスとしても利用できる書籍です。
▪著者:小林 弘幸 ▪ページ数:200ページ ▪出版社:C&R研究所 ▪発売日:2023/04/15
【参考】:Notion API活用術
Notion APIでさらなる活用を
この記事では人気のオールインワンITツール、Notionの「API連携」の概要、基本的な使い方について紹介しました。
Notionだけで情報共有や業務の効率化を行うことはできますが、Notion API連携を利用した新たなアプリの開発や、Notionのカスタマイズを行うには、Notion APIに関する知識やスキルが必要になります。
特にエンジニアの方はNotion APIを知っておくことで、さまざまな局面で応用ができます。この記事を参考に、さらなるNotionの活用を進めてみてはいかがでしょうか。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから