『NotionAPI 2025-09-03』が登場!データソースIDとは?

未分類

こんにちは〜、いつきです。
いつも通りNotion APIのサイトでシークレットトークンを確認していたら、警告が出ていて「お、仕様が変わった?」と気づきました。

結論、“データソース”という新しい概念が入っています。
この記事では、公式よりも簡潔に最低限だけをまとめます。

それでは本文どぞー

この記事の要点だけ

  • 「データソース」という新概念が追加。正直、使い方がイメージしにくい。
  • 関係性は データベース=フォルダデータソース=ファイルページ(行)=ファイルの中身
  • データソースIDは、データベース画面のメニューから「データソースの管理 / データベースの整理」経由で追加・取得できる。
  • 実際のJSONは下記サンプルをコピペして調整すればOK(現行&旧版の最小例)。
  • 旧版(2022-06-28)のままでもひとつのデータソース運用なら動く。ただし複数ソースを使い始めると旧実装は不具合が出やすい(僕の所感)。

1. データベースとデータソースの関係

僕のイメージとしては次の三層です。

  • データベース… フォルダ(入れ物)。
  • データソース… フォルダの中に入る“表”=ファイル。
  • ページ(行)… ファイルの中身(各レコード)。

従来は「データベース=1つの表」という感覚でしたが、現在は1つのデータベースの中に複数のデータソース(表)を置けるのがポイントです。

2. データソースIDの取得手順(アプリ画面)

  1. 対象のデータベースを開く。
  2. 右上の「設定」メニューを開く。
  3. 「データソースを管理」を選ぶ。
  4. ここでデータソースの追加/既存データソースのリンク、およびIDのコピーが可能。

ビュー設定を開くボタンの場所(右上) サイドパネル『データソースを管理する』 『データソースを管理する』内のメニュー(…) 『データソースIDをコピー』の場所

← 横にスクロールできます。(4枚) →

 

3. JSONサンプル(現行/旧版の最小構成)

※ 各サンプルは curl での最小例です。コードは横スクロールできます。

A. 現行モデル(親は data_source_id

ページを追加(Notion-Version は最新版に合わせてください)

curl -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer <YOUR_TOKEN>" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": { "type": "data_source_id", "data_source_id": "YOUR_DATA_SOURCE_ID" },
    "properties": {
      "Name": { "title": [{ "text": { "content": "New item" } }] }
    }
  }'

B. 旧版モデル(2022-06-28:親は database_id

ページを追加(単一ソース前提の旧運用)

curl -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer <YOUR_TOKEN>" \
  -H "Notion-Version: 2022-06-28" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": { "database_id": "YOUR_DATABASE_ID" },
    "properties": {
      "Name": { "title": [{ "text": { "content": "New item" } }] }
    }
  }'
注意(所感)
旧版は「DB=1表(単一ソース)」という前提なら延命できますが、データソースを複数使い始めると、旧実装では動作が不安定になりがちです。新規や保守予定のあるコードは、親指定を data_source_id へ移行しておくのをおすすめします。

4. 最初の一歩(迷ったらここから)

  • まずは既存のDBは触らず、テスト用DBでデータソースを1つ追加して試す。
  • JSONではparent.data_source_idを指定する実装に寄せる。
  • 運用後に問題なければ、必要なDBだけ段階的に移行。

5.最後に

調べた結果、結局何に使えるのかなー?って感じではありましたが。プログラムが整理できたり、Notionのデータベース同士のリレーションによる複雑さが少しでもシンプルにできるかなって感じですねー!

皆様の人生が少しでもより良いものになりますように。ほなねー

コメント

タイトルとURLをコピーしました