
Notion APIってなにができるの?

一般のユーザができることはないかもしれないです。
開発者向けの機能で、NotionのデータをNotion以外のサービスやアプリケーションで利用できます。
イメージつかないと思いますので、サクッとデータを取得してみましょうか。
ターミナルからさくっとNotionのデータを取得してみる

最も早くて簡単な方法でNotionAPIを使用してデータを取得してみましょう。
今回は、ターミナルを使用してデータ取得、確認してみます。
準備
まずはインテグレーションを作成しましょう。
公式のチュートリアルを見ながら作成してみてください。
ターミナルからAPI接続して、取得したデータを確認する
インテグレーションで作成したシークレットトークンと、ページID、データベースIDなど分かればOKです。
確認方法はコチラ。
雛形
https://api.notion.com/のあとにバージョンを指定(v1)。
次に、要素の種類(pages,database,blocks)を指定。
さらにその後にアクセスする要素のIDを指定します。
データベース
ターミナルに下記のコードを貼り付けてEnter。
curl 'https://api.notion.com/v1/databases/データベースID' \ -H 'Notion-Version: 2022-06-28' \ -H 'Authorization: Bearer '"シークレットトークン"''
ページ
ターミナルに下記のコードを貼り付けてEnter。
curl 'https://api.notion.com/v1/pages/ページID' \ -H 'Notion-Version: 2022-06-28' \ -H 'Authorization: Bearer '"シークレットトークン"'' \
実行結果
ターミナルでは整形されていないですが、このようなデータが取得できます(データベース取得例)。
{
"object": "database",
"id": "76a9458e-0478-41ec-a55c-e5879ca62948",
"cover": null,
"icon": null,
"created_time": "2023-05-06T02:24:00.000Z",
"created_by": {
"object": "user",
"id": "4d882475-cedf-424a-b35c-219a28cd2ea3"
},
"last_edited_by": {
"object": "user",
"id": "4d882475-cedf-424a-b35c-219a28cd2ea3"
},
"last_edited_time": "2023-05-20T06:55:00.000Z",
"title": [
{
"type": "text",
"text": { "content": "Notion API test", "link": null },
"annotations": {
"bold": false,
"italic": false,
"strikethrough": false,
"underline": false,
"code": false,
"color": "default"
},
"plain_text": "Notion API test",
"href": null
}
],
"description": [],
"is_inline": false,
"properties": {
"Date": {
"id": "%3DLF%5B",
"name": "Date",
"type": "created_time",
"created_time": {}
},
"Slug": {
"id": "Dhnu",
"name": "Slug",
"type": "rich_text",
"rich_text": {}
},
"Tags": {
"id": "Kcvw",
"name": "Tags",
"type": "multi_select",
"multi_select": {
"options": [
{
"id": "df8555db-ca24-4919-b14d-b6e516f12d40",
"name": "nextjs",
"color": "yellow"
},
{
"id": "7d343a19-0e27-498c-9659-0b24201ab759",
"name": "react",
"color": "red"
},
{
"id": "9d80bcc6-4fdf-4952-b6bb-c8afd8fc228c",
"name": "Notion",
"color": "gray"
}
]
}
},
"Published": {
"id": "O%5EM%3E",
"name": "Published",
"type": "checkbox",
"checkbox": {}
},
"thumb": { "id": "gd%5BW", "name": "thumb", "type": "files", "files": {} },
"Description": {
"id": "ms%3D~",
"name": "Description",
"type": "rich_text",
"rich_text": {}
},
"Name": { "id": "title", "name": "Name", "type": "title", "title": {} }
},
"parent": { "type": "workspace", "workspace": true },
"url": "https://www.notion.so/76a9458e047841eca55ce5879ca62948",
"public_url": null,
"archived": false
}
上記はデータベースのデータを取得した例です。
タイトルとかプロパティとかチェックボックスのデータが取得できました。
本文は取得できていません。本文を取得したい場合はページIDになります。
少しわかりにくいですが、例えばブログ一覧のページはデータベース、記事詳細ページはページといったイメージです。
ここで取得したデータを外部のサービスやアプリケーションで使用できるようになります。
もちろんNotionをヘッドレスCMSとして使用することも可能です。
公式のリファレンスはこちらです。
最後に

今回は手軽な方法でNotionAPIを使用してデータを取得してみました。
この記事があなたの参考や助けになっていれば幸いです。
最後までありがとうございました。


