外部画像やファイルへの URL をリンクするためのサポートを開始した。また、image、embed 、ファイルブロックなどの新しいブロックタイプのサポートを追加した。
以下の作業が API を通じて利用可能になった。
API を通じてファイルをアップロードすることはできないが、すでにアップロード済みのファイルは設定できる。何がサポートされているかは ここで確認できる。
ページオブジェクト や データベースオブジェクト を取得すると、 cover や icon the response will now include 今は icon
と cover
プロパティが含まれる。さらに、ページの作成、 ページの更新、 データベースの作成、 データベースの更新 などにおいて、アイコンやカバーイメージを扱うことができる。
せっかくなのでデータベースにアイコンを付けてみた。データベースなので、右のようなアイコンを URL で設定してみた。
#!/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 '{
"icon": {
"type": "external",
"external": {
"url": "<https://img.icons8.com/ios/250/000000/database.png>"
}
}
}'
返却された JSON はこちら。icon プロパティに外部画像の URL が設定されている。カバーは設定していないので、null が入っている。データベースのページを見ると、ちゃんと上記のアイコンが設定されていることがわかる。
{
"object": "database",
"id": "c63c00ad-201d-4bed-82b0-18dfca9b6ba0",
"cover": null,
"icon": {
"type": "external",
"external": {
"url": "<https://img.icons8.com/ios/250/000000/database.png>"
}
},
"created_time": "2021-11-08T21:41:00.000Z",
"last_edited_time": "2021-11-10T12:46: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": "~Xof",
"name": "経過日数",
"type": "formula",
"formula": {
"expression": "dateBetween(now(), prop(\\"日付\\"), \\"days\\")"
}
},
"名前": {
"id": "title",
"name": "名前",
"type": "title",
"title": {}
}
},
"parent": {
"type": "page_id",
"page_id": "6a8efd66-5f69-4b39-96c3-089f680003e0"
},
"url": "<https://www.notion.so/c63c00ad201d4bed82b018dfca9b6ba0>"
}
埋め込みオブジェクト、画像、ビデオ、ファイル、PDF、ブックマークブロックが取得・作成できるようになった。→ 子ブロック要素を追加 、 子ブロック要素を取得
ここでは特に使っていないので、使用例は省略
その他にもサードパーティのウェブアプリケーション(Typeform, Figma など) も追加できるとのこと。こちらも使用例は省略。