Notionは、プロジェクト管理やマークダウンといった多彩な機能を備えたサービスで、多くのワークフローを一元管理できるクラウドツールとして人気を博しています。そのNotionの機能に、APIが正式リリースされました。APIはネットワークの広がりから個々のWebサービスをはじめ、それぞれのサービス連携が欠かせません。本記事では、Notion APIを使ってできることや使い方を解説します。【テック部門の用意ならテックユニット】月額契約で貴社専属の開発チームをご用意し、アジャイル開発でプロジェクトを推進します。従来の開発スタイル(一括請負)の課題を解決し、テック部門をすぐに設立できるテックユニットは、新しいプロジェクトから既存システムの改修まで対応できます。下記のような方におすすめできるサービスです。お気軽にご相談ください。・開発リソースの確保に困っている方・企業の新規事業ご担当者様・保守運用を移管したい方・開発の引き継ぎを依頼したい方>>テックユニット(月額制アジャイル開発)の詳細はこちらNotionとは?出典:Notion API公式ページNotionとは、オールインワンワークスペースとも呼ばれ、メモやタスク管理・プロジェクト管理やスケジュール管理・社内wikiなど目的に応じて使い分けられる多機能ドキュメントツールです。アメリカ・サンフランシスコを拠点とする、スタートアップ企業Notion Labsが開発しました。多くの人はデジタルな作業場所として、OneNoteやExcel・PowerPoint・Wordといった複数のツールを組み合わせて利用するでしょう。しかし、オールインワンであるNotionは、さまざまな作業を行えるため、複数のツールを開く必要がありません。ドキュメントの作成を簡単にするテンプレートが豊富に用意されており、ワークフローを一元管理できるクラウドツールや共同作業できる機能も兼ね備えています。スプレッドシートやFigma・Twitterなどのアプリとも連携可能なので、個人だけでなく組織の効率化にも非常に有効でしょう。2022年5月時点で4つのプランがありますが、個人向けのパーソナルは無料で利用可能です。APIとは?APIとは、Application Programming Interfaceの略語で、ソフトウェアの一部を公開し、他のソフトウェアと機能を共有できるようにするインターフェースを指します。APIは一般的にインターネットを経由して利用されるため、Web APIとも呼ばれます。Webサイト上で、店舗や企業の所在地情報に使用されている「Google Maps」はAPIで呼び出して表示されていますし、他サイトのログインにGoogleアカウントを使用したり、ECサイトでクレジット決済サービスを利用したりできるのもAPIの活用です。短いコードですぐ利用できるAPIは機能だけでなく、使い方やルールも合わせて公開しているため、エンジニアはAPIに従って機能を呼びだす短いコードを記述するだけで、その機能を利用したソフトウェアを作成可能です。自社のプログラムにAPI連携させることで、他社の有用なプログラムの機能を埋め込み、新しいサービスの構築が期待できるでしょう。ユーザーはAPIの登場によって、プログラムの提供者の所在を意識せず、Web上でスムーズに目的を達成でき、よりよい価値を享受できる環境にいると言えます。Notion APIでできること出典:Notion API公式ページNotion APIを通じて、開発者は他のソフトウェアをNotionとつなげたり、Notion内のワークフローを自動化ができるため、より効率的に作業を行えます。Notion APIを通じてできることは、GmailやGoogleカレンダー・Slackなどから必要なデータを取り込んだり、Notionから他のサービスにデータを渡すなどがあります。ここでは具体例として、以下4つに絞って解説します。データベース(DATABASE)ページ(PAGES)ブロック(BLOCKS)ワークスペースのユーザーデータベース(DATABASE)データベースは、Notionの構成において情報保存の点で核となるコア機能です。データベースとは検索や蓄積が容易にできるよう整理された情報の集まりを指し、Notionにおいてはページの集まりを1つにまとめたり、テーブルやボードなどさまざまな形で表現できます。エクセルで作られた管理表やリストなどをイメージすると分かりやすいでしょう。データベースが対応するAPIとしては、クエリ・ID検索やページの作成・更新などがあります。また、データベース機能では表示形式を6つから選べるようになっているのも特徴です。テーブルボードタイムラインカレンダーリストギャラリードキュメントは必要な情報をすぐに取り出せてこそ価値を発揮します。Notionのデータベース機能をうまく使い、必要な情報を取り出しづらいといった問題を解決したり、用途に合わせたデータの可視化や一元化に便利だと言えるでしょう。ページ(PAGES)ページは、Notionにおけるコンテンツを追加するためのドキュメントを指します。メモや記事だけでなく、チェックボックスを使ってタスクリストにしたり、カバー画像の設定もできます。ページに対応するAPIとしてはID検索・作成・更新・ページ取得などがあり、データベースのようなクエリがありません。Notionでは情報を格納するフォルダーがないため、ページと呼ばれるドキュメントを無限に階層化させて情報を整理します。親ページと子ページは互いが親子関係であると分かるように、ワークスペースの左側にあるサイドバーに表示されます。ブロック(BLOCKS)ブロックはNotionにおける最小要素で、テキスト・画像・テーブルなどページ内の個々のコンテンツを指します。対応するAPIとして、ID検索やブロックの作成・ページの更新・ブロックの削除などが挙げられます。Notionはブロックエディター方式を採用し、簡単にドキュメントの装飾が行えるマークダウン記法となっているため、テキスト以外にも多くのコンテンツを組み合わせやすいでしょう。それぞれのブロックであるテキストや画像を組み合わせたり、複製・移動させ、ページやページの集合体をつくります。ワークスペースのユーザーワークスペースとは、作業を行うスペースで、コンテンツ作成をはじめ、すべての作業はワークスペース内で行われます。個人をはじめチームや会社全体など、仕事のやり方に合わせて拡張・編集といったカスタマイズが可能で、情報への効率的なアクセスが期待できます。また、チームの規模を問わず、ワークスペース内の管理者・メンバー・ゲストが明確であることは、透明性の担保に欠かせません。異なるツールの連携ができるAPIによって、情報をNotionに集約し、情報共有や発信がしやすくなるため、プロジェクトの共有化には非常に役立つでしょう。ユーザー操作にはAPIとして、ID検索・一覧検索・bot取得が対応し、SCIMを利用して、ワークスペースでのユーザー検索にも対応できます。Notion APIの使い方出典:Notion API公式ページNotion APIを使用するには、以下の3つのステップを踏みます。新しいインテグレーションを作る作成したインテグレーションからデータベースへのアクセスを許可APIを試す新しいインテグレーションを作るインテグレーションとは、複数の異なる要素を組み合わせて1つにし、一体として機能するよう調整することを指します。そのためAPIの設定を扱うために、認証情報などをインテグレーションで作成します。NotionのMy integrations(こちら)にアクセスしましょう。画面左にある「+新しいインテグレーション」を選択します。その後、基本情報ページの各項目を入力しましょう。ロゴはお好みで設定し、APIで取得したいワークスペースを「関連ワークスペース」で選びます。こちらのメニューはお好みで内容を決定し、送信を選びます。送信するとシークレットのトークンが発行されます。作成したインテグレーションにアクセスするための重要なキーになりますので、必ずメモをとりましょう。作成したインテグレーションからデータベースへのアクセスを許可次にインテグレーションを作成後、データベースにAPIからアクセス許可を行います。これは、APIを使ってデータベースにページを追加する際、編集権限が必要であるためです。Notionを開き、共有するデータベースの中からシェアを選択し、先ほど作ったインテグレーションを招待することで、データベースへのアクセス権限が付与されます。また共有や招待機能を利用して、まだNotionに未登録なメンバーをNotionメンバーにもできます。コネクトを追加することで、ページとその子ページにだけAPIの操作が有効となりますので、忘れずに行っておきましょう。APIを試すデータベースにアクセスできるようになったら、いよいよAPIが試せますが、データベースの操作には「トークン」と「データベースID」が必要となります。さきほどMy integrationsから作成し、メモしたものを利用します。データベースIDは、URLから取得できるため、アプリの場合はブラウザに切り替えましょう。先ほどのToDoのURL(www.notion.so/)と (?v=)の間の32文字がデータベースIDです。またはURL中に( www.notion.so/myworkspace/ )のようにワークスペース名がある場合、その直後の文字列になります。なお、Notion APIの操作を行うには、ターミナルからCurlコマンド(POSTを使う)を使ったり、Python(レスポンスを受け取る)からアクセスしたりするなどの環境に合わせた記述が必要です。詳しい情報は公式リファレンスから確認できます。>>IntroductionNotion APIの活用事例出典:Notion API公式ページNotion APIの連携で何ができるのか、代表的な活用事例を紹介します。ZapierでWebサービスとNotionを連携するSTUDIOとNotion APIを連携するZapierでWebサービスとNotionを連携するWebサービス同士を連携できるZapierでWebサービスとNotionを連携すると、入力データをデータベースに累積するといった使い方を実現できます。NotionのデータベースでJiraの課題を作るデータベースの更新をSlackで受け取るそのほかにも、データを読み取ってデータベースを作成したり、タスク管理ツールをNotionと同期させたりするなどの使い方ができます。【一言メモ】Zapierは、APIを提供する多数のWebサービスと統合することができ、簡単な設定だけで異なるサービス間でデータを自動的にやり取りできます。STUDIOとNotion APIを連携するNotionにあるデータをAPI経由で取得し、STUDIOでデザインから公開まで実施できます。デザインエディターからNotionを新規追加し、トークンとデータベースIDを貼り付けるだけで連携できます。配置したテキストや画像は、データパネルからAPIデータ(プロパティ)を紐付けてデザインできますので、試してみてください。【一言メモ】ウェブサイトやWebアプリケーションのコンテンツ管理システム(CMS)の1つです。まとめオールインワンツールであるNotionにAPI機能が追加され、その利用の幅はますます広がるばかりです。Notion APIは日ごろ使っているツールやワークフローにNotionを連携させ、個人業務のみならず、チームでの業務効率化にも大いに貢献できるでしょう。気になる方は、ぜひNotion APIに触れてみることをおすすめします。システム開発でお悩みのことがありましたら、ぜひお気軽にご相談ください。