Notion APIを導入する
ついにPublic beta版のNotion APIが公開されました。
前提
・初めてNotion API触ります
目標
・Notion APIを使って出来ることをやってみる
補足
Notion APIの概要
・Notion APIは特定の1ページのデータベースを操作できるように発行される(特定の1ページの編集者として追加するようなイメージ)
・Notion APIを発行することをintegrationと呼ぶ
実装
0. 【要確認】始める前に
・NotionのワークスペースにAdminユーザとしてログインする必要があります
・curlコマンドを使用します
1. Notion APIを発行する(integrationを作成する)
こちらからintegrationを作成します。
Nameを適当に決めて、APIを発行したいWorkspaceを選択します。
私はGoogle_Calendarという名前にしました。
2. Notion APIを編集者として特定ページに招待
自分のTodo ListのページにGoogle CalendarのAPIをInviteします。(↓は公式のチュートリアルより)
3. データベースIDの取得
次に上記でAPIを招待したデータベースIDを取得します。
2.でAPIを招待したページをブラウザ(Chromeやsafari)で開きます。下記の下線部分がデータベースIDです!
これでこのページを操作する準備が整いました。
4. テスト
下記コマンドをterminalで実行します。MY_NOTION_TOKENが1.で発行したSecrets、DATABASE_IDが3.で確認したものになります。({}は外してくださいね!)
curl -X POST https://api.notion.com/v1/pages \
-H "Authorization: Bearer {MY_NOTION_TOKEN}" \
-H "Content-Type: application/json" \
-H "Notion-Version: 2021-05-13" \
--data '{
"parent": { "database_id": "{DATABASE_ID}" },
"properties": {
"Name": {
"title": [
{
"text": {
"content": "Yurts in Big Sur, California"
}
}
]
}
}
}'
成功すると以下のようなレスポンスが返ってきます。失敗した場合、上記記述をもう一度確認してみてください。
Notionを確認するとページが追加されています。(2度実行したため2つ追加されています。)
5. 出来ること
(まだNotionのAPI Referenceに4.のPOSTリクエストがない状態でした)
『データベース編』
データベース内すべてのページを取得する
curl -X POST 'https://api.notion.com/v1/databases/{DATABASE_ID}/query' \ 1212ms 金 5/14 11:58:19 2021
-H 'Authorization: Bearer {MY_NOTION_TOKEN}' \
-H 'Notion-Version: 2021-05-13' \
-H "Content-Type: application/json" \
--data '{
"filter": {
"or": []
},
"sorts": []
}'
まとめ
Notion APIを触ってみました。また追記していきます。
ここから先は
¥ 300
この記事が気に入ったらチップで応援してみませんか?