以下の説明があった。私のアプリも 2021-08-16 版にアップデートする予定。
<aside> 💡 9月28日現在、新しい API とブロックタイプは古いバージョンではサポートされない
まだ 2021-05-11
や 2021-05-13
のユーザは、バージョンを 2021-08-16
に変更し、 9月28日以降に導入されたブロックタイプや API を使用すること。
9月28日以前に導入された API 機能は、古い API で引き続き利用できる。
</aside>
今回、コードブロック、インラインデータベース、データベースページブロックの取得・追加・更新ができるようになった。
子ブロックの追加 と 子ブロックの取得 にてコードブロックが取得できるようになった。試しに、コードブロックの取得をしてみる。サンプルとして、スクリプト自身のコードブロックを取得してみる。ただし、この例では子ブロックではなく、直接ブロックを取得している。
#!/bin/sh
curl '<https://api.notion.com/v1/blocks/0a266cec95704acb9854d17dafbec56d>' \\
-H 'Authorization: Bearer '"$NOTION_API_KEY"'' \\
-H 'Notion-Version: 2021-08-16'
取得した JSON はこちら。上の code がそのまま content に入っていることがわかる。
{
"object": "block",
"id": "0a266cec-9570-4acb-9854-d17dafbec56d",
"created_time": "2021-11-10T23:29:00.000Z",
"last_edited_time": "2021-11-10T23:41:00.000Z",
"has_children": false,
"archived": false,
"type": "code",
"code": {
"text": [
{
"type": "text",
"text": {
"content": "#!/bin/sh\\ncurl '<https://api.notion.com/v1/blocks/bb78a5a99a964fbebf5a6655a10a6516>' \\\\\\n -H 'Authorization: Bearer '\\"$NOTION_API_KEY\\"'' \\\\\\n -H 'Notion-Version: 2021-08-16'",
"link": null
},
"annotations": {
"bold": false,
"italic": false,
"strikethrough": false,
"underline": false,
"code": false,
"color": "default"
},
"plain_text": "#!/bin/sh\\ncurl '<https://api.notion.com/v1/blocks/bb78a5a99a964fbebf5a6655a10a6516>' \\\\\\n -H 'Authorization: Bearer '\\"$NOTION_API_KEY\\"'' \\\\\\n -H 'Notion-Version: 2021-08-16'",
"href": null
}
],
"language": "bash"
}
}
子ブロックの取得 や ブロックの取得 にてインラインデータベースを取得できるようになった。
<aside> 💡 子データベースブロックをアップデートしたいときには、データベースのアップデートを使用する。データベースのタイトルを変更した場合、子データベースブロックの名前も自動的に変更される。
</aside>
検証として 子ブロックの取得 を使い、Changelog まとめのトップページの子ブロックを取得してみる。
#!/bin/sh
curl '<https://api.notion.com/v1/blocks/6a8efd665f694b3996c3089f680003e0/children?page_size=100>' \\
-H 'Authorization: Bearer '"$NOTION_API_KEY"'' \\
-H "Notion-Version: 2021-08-16"
返ってきた JSON はこちら。少し長いが中央部に「child_database」と子データベースが入っていることが確認できた。
{
"object": "list",
"results": [
{
"object": "block",
"id": "3cf3c316-f775-446a-87c1-9470883111ed",
"created_time": "2021-11-08T22:49:00.000Z",
"last_edited_time": "2021-11-10T11:16:00.000Z",
"has_children": false,
"archived": false,
"type": "paragraph",
"paragraph": {
"text": [
{
"type": "text",
"text": {
"content": "Notion API 公開時にアプリを作ったが、その後の更新に追いついていないので、ChangeLog を読みあさることにした。このページ内で実際にサンプルを動かしながら理解したいと思う。",
"link": null
},
"annotations": {
"bold": false,
"italic": false,
"strikethrough": false,
"underline": false,
"code": false,
"color": "default"
},
"plain_text": "Notion API 公開時にアプリを作ったが、その後の更新に追いついていないので、ChangeLog を読みあさることにした。このページ内で実際にサンプルを動かしながら理解したいと思う。",
"href": null
}
]
}
},
{
"object": "block",
"id": "c7f75678-bd90-4bb0-a0cc-1d83f4711b82",
"created_time": "2021-11-10T22:16:00.000Z",
"last_edited_time": "2021-11-10T22:23:00.000Z",
"has_children": true,
"archived": false,
"type": "child_page",
"child_page": {
"title": "自分で検証する場合"
}
},
{
"object": "block",
"id": "c63c00ad-201d-4bed-82b0-18dfca9b6ba0",
"created_time": "2021-11-08T21:41:00.000Z",
"last_edited_time": "2021-11-10T22:35:00.000Z",
"has_children": false,
"archived": false,
"type": "child_database",
"child_database": {
"title": "Changelogs"
}
},
{
"object": "block",
"id": "6621c546-ee6e-48af-9385-68e801d115b4",
"created_time": "2021-11-08T22:50:00.000Z",
"last_edited_time": "2021-11-08T22:50:00.000Z",
"has_children": false,
"archived": false,
"type": "paragraph",
"paragraph": {
"text": []
}
}
],
"next_cursor": null,
"has_more": false
}