はじめに
hkob の雑記録の第248回目は、Notion API の API reference が公開されたので、これまでとの違いを確認してみます。
Retrieve a database
Retreive a database のリファレンスページはこちらになります。
データベースを取得する 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 のリファレンスはこちらになります。
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 のリファレンスはこちらになります。
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 のリファレンスはこちらになります。
基本的にこれまでの Retrieve a database で取得できるものがこちらになります。NotionRubyMapping では Retrieve a database をしたら、自動的に Retrieve a data source を実行し、database.data_sources ですぐに DataSource オブジェクトにアクセスできるようにする予定です。
Update a data source
Update a data source のリファレンスはこちらになります。
こちらも基本的にこれまでの Update a database と内容は同じです。description の説明がここにあるので、Data source ごとに説明はあるのかもしれません。そのため、Update a database に description がないのはそのせいかもしれません。
Query a data source
Query a data source のリファレンスはこちらになります。
おわりに
これまで Upgrading to 2025-09-03 に書かれていたドキュメントから予測してコードを書いていました。ようやくリファレンスが更新されたので、これを下に NotionRubyMapping の更新を続けていきます。