🔖

Notion APIを使うときの全体像を理解するためのメモ書き(随時更新)

2024/06/15に公開

公式Doc

API Reference

https://developers.notion.com/reference/intro

Guide

https://developers.notion.com/docs/getting-started

Examples

https://developers.notion.com/page/examples

全体像を把握する

ワークスペース内のコンテンツとの接続

Slack APIなどと同じようにbotを通して対象のリソース(ページだったりDBだったり)を操作する。そのbotは統合(インテグレーション)と呼ばれるほか、”接続”と呼ばれることもある。

Integration

  • 1つのワークスペースに対して複数のインテグレーションを作成できる
  • インテグレーション側の設定では大まかなコンテンツへのアクセス権限設定ができる
  • インテグレーションを作成しただけではコンテツへアクセスできない
  • アクセスしたい(させたい)コンテンツを含むページアクセスし、ページの接続設定からインテグレーション接続させる必要がある(つまり、デフォルトでそのワークスペース全体に対してアクセスができるような仕組みではない)

Integration_page_setting

インテグレーションの種類

  • Internal: Privateなワークスペース向け
  • Public: 共有コンテンツのあるワークスペース向け

インテグレーションの定義

  • APIリクエストの認証
  • リクエストのタイミングの決定
  • ボットのRead/Write権限の設定

APIでできること

  • Pages: Create, update, and retrieve page content.

  • Databases
    Notionのデータベースはページの集合(Collection)。

  • Users
    そのワークスペースを利用しているユーザーの情報を取得することが可能。
    ゲストや統合(bot)も含めて情報の取得が可能。

  • Comments
    インラインコメントを含む、ページ内のコメントに対する操作が可能。

  • Content Queries
    APIの許可設定を行った範囲を対象に、ページ内のコンテンツ(データベースを含む)の検索が可能。

  • Authentication
    APIの認証。
    Privateのワークスペースに対して認証をするときはAPIキーのようなものを使うだけなので難しいことは無いです。その他、やりたいことが決まってる方は実際にドキュメントを読んだほうが確実・早いと思うのでこの場では割愛。
    https://developers.notion.com/docs/authorization

  • Link Previews
    こちらのページの冒頭部分を見たほうが(理解が)早い。
    リンクしたページ先で状態変化があったときに、Notion側の表示も更新されるような機能。
    https://developers.notion.com/docs/link-previews

よく使いそうなもの

WIP

Block

Page

Database

Discussion