はじめに
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 の更新を続けていきます。