NotionRubyMapping の 2025-09-03対応(3) : hkob の雑記録 (248)

はじめに

hkob の雑記録の第248回目は、Notion API の API reference が公開されたので、これまでとの違いを確認してみます。

Retrieve a database

Retreive a database のリファレンスページはこちらになります。

developers.notion.com

データベースを取得する API である Retrieve a database の呼び出しはこれまでと変更はありません。ただし、Header に accept: application/json が追加されていました。database_id はこれまで通り、URL の先頭部分になります。私のテストデータで取得した Response はこのようになっていました。Response については、properties が含まれなくなっております。その代わりに data_sources というリストが返却されるようになっています。今後はここに複数の data_sources が登録できるようになるようです。

{
  "object": "database",
  "id": "c37a2c66-e3aa-4a0d-a447-73de3b80c253",
  "title": [
    {
      "type": "text",
      "text": {
        "content": "Sample table",
        "link": null
      },
      "annotations": {
        "bold": false,
        "italic": false,
        "strikethrough": false,
        "underline": false,
        "code": false,
        "color": "default"
      },
      "plain_text": "Sample table",
      "href": null
    }
  ],
  "parent": {
    "type": "page_id",
    "page_id": "c01166c6-13ae-45cb-b968-18b4ef2f5a77"
  },
  "is_inline": true,
  "in_trash": false,
  "created_time": "2022-02-07T21:29:38.416+00:00",
  "last_edited_time": "2025-09-01T06:31:12.223+00:00",
  "data_sources": [
    {
      "id": "4f93db51-4e1d-4015-b07f-876e34c3b0b1",
      "name": "Sample table"
    }
  ],
  "icon": null,
  "cover": null,
  "url": "https://www.notion.so/c37a2c66e3aa4a0da44773de3b80c253",
  "public_url": "https://hkob.notion.site/c37a2c66e3aa4a0da44773de3b80c253",
  "request_id": "2387e0b4-de96-469f-9886-8a2cf21a9d19"
}

Update a database

Update a database のリファレンスはこちらになります。

developers.notion.com

Retrieve a page にプロパティがなくなったように、ここで update できるのはページとしての見た目を決める以下の項目のみとなります。

  • parent
    • type キーに page_id か workspace を設定します。
    • page_id を指定した場合には、親ページの page_id を page_id キーに設定します。
  • title
    • Rich text object を設定します。
  • is_inline
    • インラインであれば true とします。
  • cover
    • カバー画像を external url または file upload object で指定します。
  • in_trash
    • ゴミ箱に入っているかどうかのフラグを設定します。

create では icon や description が設定できるのですが、update には項目がありませんでした。実際に動作しないのかは後で試してみます。ドキュメントの抜けであるようなら後でフィードバックしておきます。

Create a database

Create a database のリファレンスはこちらになります。

developers.notion.com

Create a database は properties の設定がなくなったので非常にシンプルになりました。設定できる項目は Update a database とほぼ同じでした。以下の二つがさらに設定可能です。

  • description
    • データベースの説明を Rich text array で指定します。
  • icon
    • ページアイコンを絵文字、external url または file upload object で指定します。

Retrieve a data source

Retrieve a data source のリファレンスはこちらになります。

developers.notion.com

基本的にこれまでの Retrieve a database で取得できるものがこちらになります。NotionRubyMapping では Retrieve a database をしたら、自動的に Retrieve a data source を実行し、database.data_sources ですぐに DataSource オブジェクトにアクセスできるようにする予定です。

Update a data source

Update a data source のリファレンスはこちらになります。

developers.notion.com

こちらも基本的にこれまでの Update a database と内容は同じです。description の説明がここにあるので、Data source ごとに説明はあるのかもしれません。そのため、Update a database に description がないのはそのせいかもしれません。

Query a data source

Query a data source のリファレンスはこちらになります。

developers.notion.com

おわりに

これまで Upgrading to 2025-09-03 に書かれていたドキュメントから予測してコードを書いていました。ようやくリファレンスが更新されたので、これを下に NotionRubyMapping の更新を続けていきます。

hkob.notion.site