内容
update databases を使うことで、既存のデータベースを更新することができる。
サポートされているのは以下の更新作業。
- データベースの名前の変更
- プロパティの追加と削除
- プロパティの名称変更
- プロパティタイプの変更
ただし、Select や Multi-Select の
name
や color
の変更はサポートされていない。検証
せっかくなので、編集中のものを外部に見せないように「開示?」というチェックボックスを作成する。後で、表のデータベースではフィルタをして、「開示?」にチェックが入ったものだけ表示するようにしてみる。スクリプトはこんな感じになる。
#!/bin/sh curl --location --request PATCH 'https://api.notion.com/v1/databases/c63c00ad-201d-4bed-82b0-18dfca9b6ba0' \ --header 'Authorization: Bearer '"$NOTION_API_KEY"'' \ --header 'Content-Type: application/json' \ --header 'Notion-Version: 2021-08-16' \ --data '{ "properties": { "開示?": { "checkbox": {} } } }'
返却された JSON はこちら。ちゃんと「開示?」チェックボックスが追加されている。
{ "object": "database", "id": "c63c00ad-201d-4bed-82b0-18dfca9b6ba0", "cover": null, "icon": null, "created_time": "2021-11-08T21:41:00.000Z", "last_edited_time": "2021-11-10T05:43:00.000Z", "title": [ { "type": "text", "text": { "content": "Changelogs", "link": null }, "annotations": { "bold": false, "italic": false, "strikethrough": false, "underline": false, "code": false, "color": "default" }, "plain_text": "Changelogs", "href": null } ], "properties": { "開示?": { "id": "%3BfBx", "name": "開示?", "type": "checkbox", "checkbox": {} }, "日付": { "id": "%3CWbe", "name": "日付", "type": "date", "date": {} }, "原題": { "id": "%3FMR%7D", "name": "原題", "type": "rich_text", "rich_text": {} }, "URL": { "id": "o%3A~F", "name": "URL", "type": "url", "url": {} }, "タグ": { "id": "tUJV", "name": "タグ", "type": "multi_select", "multi_select": { "options": [ { "id": "fcb7bc23-a43d-4ff1-967f-db59a6125492", "name": "ADDED", "color": "green" }, { "id": "05f3b6b1-b6f1-49a2-bbdb-955cfb4d36f4", "name": "IMPROVED", "color": "gray" } ] } }, "名前": { "id": "title", "name": "名前", "type": "title", "title": {} } }, "parent": { "type": "page_id", "page_id": "6a8efd66-5f69-4b39-96c3-089f680003e0" }, "url": "https://www.notion.so/c63c00ad201d4bed82b018dfca9b6ba0" }
Notion API Changelog まとめ