はじめに
hkob の雑記録の第488回目(連続61日目)は、各 View の JSON を取得します。今回は前半で5つの view を取得してみます。
Board view
まずは board view です。スクリプトは table view と同じです。
curl 'https://api.notion.com/v1/views/32fd8e4e98ab80e2b3f8000c6da330b4' \
-H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
-H 'Notion-Version: 2026-03-11'
取得した JSON はこちらです。Board view は group_by が特殊ですね。hide_empty_groups で空のグループを隠すかどうかも設定できるようです。
{ "object": "view", "id": "32fd8e4e-98ab-80e2-b3f8-000c6da330b4", "parent": { "type": "database_id", "database_id": "32fd8e4e-98ab-80e7-a807-f8fbbf48612d" }, "data_source_id": "32fd8e4e-98ab-8166-98e8-000b4292b61f", "name": "BoardView", "type": "board", "created_time": "2026-03-26T11:35:18.598+00:00", "created_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "last_edited_time": "2026-03-26T11:35:25.675+00:00", "last_edited_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "url": "https://www.notion.so/32fd8e4e98ab80e7a807f8fbbf48612d?v=32fd8e4e98ab80e2b3f8000c6da330b4", "filter": null, "sorts": null, "quick_filters": { "IFyg": { "relation": { "is_empty": true } } }, "configuration": { "type": "board", "group_by": { "type": "status", "property_id": "MNV~", "group_by": "option", "sort": { "type": "ascending" }, "property_name": "StatusTitle", "hide_empty_groups": false }, "properties": [ { "property_id": "AVX=", "property_name": "SubItemTitle", "visible": true } ] }, "request_id": "59e144d0-f6fa-45fe-af1c-b0c691bbc861" }
List view
スクリプトは view_id 以外は全く同じなので省略します。List の場合はそれぞれのプロパティに対して、visible のフラグがあるだけのようです。
{ "object": "view", "id": "32fd8e4e-98ab-8025-a0d2-000c9f44eee8", "parent": { "type": "database_id", "database_id": "32fd8e4e-98ab-80e7-a807-f8fbbf48612d" }, "data_source_id": "32fd8e4e-98ab-8166-98e8-000b4292b61f", "name": "ListView", "type": "list", "created_time": "2026-03-26T11:36:07.327+00:00", "created_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "last_edited_time": "2026-05-10T12:27:43.083+00:00", "last_edited_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "url": "https://www.notion.so/32fd8e4e98ab80e7a807f8fbbf48612d?v=32fd8e4e98ab8025a0d2000c9f44eee8", "filter": null, "sorts": null, "quick_filters": null, "configuration": { "type": "list", "properties": [ { "property_id": "title", "visible": true }, { "property_id": "Kjx}", "visible": true }, { "property_id": "SPrp", "visible": true }, { "property_id": "verification_owner", "visible": true }, { "property_id": "ZifK", "visible": false }, { "property_id": "Gx?d", "visible": false }, { "property_id": "Lbi]", "visible": false }, { "property_id": "eR=~", "visible": false }, { "property_id": "WsEj", "visible": false }, { "property_id": "qEdK", "visible": false }, { "property_id": "]~iZ", "visible": false }, { "property_id": "{GE|", "visible": false }, { "property_id": "LQGa", "visible": false }, { "property_id": "X>@X", "visible": false }, { "property_id": "p|i?", "visible": false }, { "property_id": "swq\\", "visible": false }, { "property_id": "IFyg", "visible": false }, { "property_id": "Uw=a", "visible": false }, { "property_id": "<nJT", "visible": false }, { "property_id": "STe_", "visible": false }, { "property_id": "zE|?", "visible": false }, { "property_id": "MNV~", "visible": false }, { "property_id": "AVX=", "visible": false }, { "property_id": "|NHO", "visible": false }, { "property_id": "flUp", "visible": false }, { "property_id": "tvis", "visible": false }, { "property_id": "_x>=", "visible": false }, { "property_id": "verification", "visible": false } ] }, "request_id": "2be2b8ce-e128-41f2-b9c7-6b1de657cfab" }
Gallery view
Gallery view の JSON は以下のようになります。Gallery なので cover 画像を設定する cover キーが特異なところになります。
{ "object": "view", "id": "32fd8e4e-98ab-8047-b896-000c33b8b7d9", "parent": { "type": "database_id", "database_id": "32fd8e4e-98ab-80e7-a807-f8fbbf48612d" }, "data_source_id": "32fd8e4e-98ab-8166-98e8-000b4292b61f", "name": "GalleryView", "type": "gallery", "created_time": "2026-03-26T11:35:36.912+00:00", "created_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "last_edited_time": "2026-03-26T11:36:03.131+00:00", "last_edited_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "url": "https://www.notion.so/32fd8e4e98ab80e7a807f8fbbf48612d?v=32fd8e4e98ab8047b896000c33b8b7d9", "filter": null, "sorts": null, "quick_filters": { "IFyg": { "relation": { "is_empty": true } } }, "configuration": { "type": "gallery", "properties": [ { "property_id": "AVX=", "visible": true } ], "cover": { "type": "page_content_first" } }, "request_id": "33760110-9fb3-4f4a-8855-e28d32d1fac3" }
Chart view
Chart view も同様です。Chart view は軸の設定などが細かく設定が必要です。この後クラスの設定はかなり大変そうです。
{ "object": "view", "id": "32fd8e4e-98ab-8063-b337-000c3a48f7b5", "parent": { "type": "database_id", "database_id": "32fd8e4e-98ab-80e7-a807-f8fbbf48612d" }, "data_source_id": "32fd8e4e-98ab-8166-98e8-000b4292b61f", "name": "ChartView", "type": "chart", "created_time": "2026-03-26T11:36:18.461+00:00", "created_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "last_edited_time": "2026-03-26T11:36:22.011+00:00", "last_edited_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "url": "https://www.notion.so/32fd8e4e98ab80e7a807f8fbbf48612d?v=32fd8e4e98ab8063b337000c3a48f7b5", "filter": null, "sorts": null, "quick_filters": { "IFyg": { "relation": { "is_empty": true } } }, "configuration": { "type": "chart", "chart_type": "column", "x_axis": { "type": "multi_select", "property_id": "Kjx}", "sort": { "type": "manual" }, "property_name": "MultiSelectTitle", "hide_empty_groups": false }, "y_axis": { "aggregator": "count" }, "sort": "manual", "hide_empty_groups": false }, "request_id": "2e082d62-2ada-48c4-9b82-fab3543f5fcc" }
Dashboard view
Dashboard view は複数の view を内包する view です。このため、view_id を持つ widget を複数所有する形になります。
{ "object": "view", "id": "32fd8e4e-98ab-8031-8eae-000cf60a1a79", "parent": { "type": "database_id", "database_id": "32fd8e4e-98ab-80e7-a807-f8fbbf48612d" }, "data_source_id": null, "name": "DashboardView", "type": "dashboard", "created_time": "2026-03-26T11:36:26.394+00:00", "created_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "last_edited_time": "2026-05-10T12:42:12.433+00:00", "last_edited_by": { "object": "user", "id": "2200a911-6a96-44bb-bd38-6bfb1e01b9f6" }, "url": "https://www.notion.so/32fd8e4e98ab80e7a807f8fbbf48612d?v=32fd8e4e98ab80318eae000cf60a1a79", "filter": null, "sorts": null, "quick_filters": null, "configuration": { "type": "dashboard", "rows": [ { "id": "76906e96-e409-404f-b398-26ba23956b97", "widgets": [ { "id": "42ee1aae-a404-4bb3-bee6-2690a1646644", "view_id": "35cd8e4e-98ab-8018-bc3c-000ccb1ec8aa", "row_index": 0 } ] }, { "id": "cabc2fbc-396c-4378-ae87-cc410d97bed8", "widgets": [ { "id": "458bad31-1e9d-4b39-bbf4-799ac18169db", "view_id": "35cd8e4e-98ab-8065-b233-000c21c28822", "row_index": 1 } ] } ] }, "request_id": "230d9800-d9b6-4dbd-b901-ed7664d8d272" }
おわりに
とりあえず今回は 5 つの view の JSON を取得しました。次は残りの view について取得していきます。
https://hkob.notion.site/hkob-16dd8e4e98ab807cbe3cf3cc94cdfe0f?pvs=4hkob.notion.site