最近は新しいブロックの対応というアップデートが続いている。今回は、数式、埋め込みオブジェクト、ブックマーク、メディアブロックである。ブロックの取得スクリプトについては id が異なるだけなので、今回は掲載を省略する。また、作成と更新については同じなので、今回も取得だけ検証する。

数式

いつものようにページ内に数式をおいて、それを取得してみる。

$X(z) = \displaystyle\sum_{n=-\infty}^{\infty}x[n]z^{-n}$

取得した JSON はこちら。LaTeX の「\」はエスケープされているようだ。

{
    "object": "block",
    "id": "8a3708ba-bebc-43e0-8624-6ddd97ba2796",
    "created_time": "2021-11-11T01:13:00.000Z",
    "last_edited_time": "2021-11-11T01:14:00.000Z",
    "has_children": false,
    "archived": false,
    "type": "paragraph",
    "paragraph": {
        "text": [
            {
                "type": "equation",
                "equation": {
                    "expression": "X(z) = \\\\displaystyle\\\\sum_{n=-\\\\infty}^{\\\\infty}x[n]z^{-n}"
                },
                "annotations": {
                    "bold": false,
                    "italic": false,
                    "strikethrough": false,
                    "underline": false,
                    "code": false,
                    "color": "default"
                },
                "plain_text": "X(z) = \\\\displaystyle\\\\sum_{n=-\\\\infty}^{\\\\infty}x[n]z^{-n}",
                "href": null
            }
        ]
    }
}

メディアブロック (video, audio, image, file, pdf)

メディアブロックも同じように追加して、取得してみる。

<aside> 💡 現状ではファイルアップロードは API 経由でできないので、作成・更新は "external" しか利用できないとのこと。

</aside>

Notion トレーニング | 基礎編

Notion トレーニング | 基礎編

取得した JSON はこちら。キャプション情報もちゃんと入っている。

{
    "object": "block",
    "id": "d9692c66-0eb0-4e3a-94b4-bbb8a7e582e6",
    "created_time": "2021-11-11T01:24:00.000Z",
    "last_edited_time": "2021-11-11T01:28:00.000Z",
    "has_children": false,
    "archived": false,
    "type": "video",
    "video": {
        "caption": [
            {
                "type": "text",
                "text": {
                    "content": "Notion トレーニング | 基礎編",
                    "link": null
                },
                "annotations": {
                    "bold": false,
                    "italic": false,
                    "strikethrough": false,
                    "underline": false,
                    "code": false,
                    "color": "default"
                },
                "plain_text": "Notion トレーニング | 基礎編",
                "href": null
            }
        ],
        "type": "external",
        "external": {
            "url": "<https://youtu.be/LuEqul-rlqY>"
        }
    }
}

埋め込みオブジェクトとブックマークブロック

ブックマークも同様に取得してみる。以下は私のブログへのブックマーク。

hkob's blog

私のブログ

取得した JSON はこちら。ブックマークの場合は、url キーと caption のみが存在している。

{
    "object": "block",
    "id": "42b48338-ef8b-44a1-9b84-0ad08c13bff6",
    "created_time": "2021-11-11T01:31:00.000Z",
    "last_edited_time": "2021-11-11T01:32:00.000Z",
    "has_children": false,
    "archived": false,
    "type": "bookmark",
    "bookmark": {
        "caption": [
            {
                "type": "text",
                "text": {
                    "content": "私のブログ",
                    "link": null
                },
                "annotations": {
                    "bold": false,
                    "italic": false,
                    "strikethrough": false,
                    "underline": false,
                    "code": false,
                    "color": "default"
                },
                "plain_text": "私のブログ",
                "href": null
            }
        ],
        "url": "<https://hkob.hatenablog.com/>"
    }
}

Notion API Changelog まとめ