眠気.jl

投稿=不定期

Notion API使ってみた備忘録

経緯

半年ほど前にNotion API waitlistに登録して、半年ほど全裸待機しておりました
最近Beta版がリリースされたそうなのでとりあえず触ってみました

準備

ワークスペースと、その中にページを作っておく
Getting Started を眺めとく

Log into a Notion workspace as an Admin user

とあるのでAdminである必要がありそう
AdminでないWorkspaceは後述の一覧に出てこなかった

流れ

  1. Integration Tokenを取得する
  2. ページでAPIをinviteする、DatabaseIDを取得する
  3. データベースに文字列を追記

1. Integration Tokenを取得する

Integration作るためのページに行く My integrations
Create a new integrationを押す
Name(必須)
Logo(オプショナル)
Associated workspace(必須、関連付けたいワークスペース)
Submitを押す

f:id:julialangisthebestlang:20210606173518p:plain
submit
Integration Tokenを保存しておく f:id:julialangisthebestlang:20210606173616p:plain (特に公開予定はないのでInternal Integrationのままにしている)

2. ページでAPIをinviteする、DatabaseIDを取得する

APIを有効にしたいページ右上・・・をクリック>invite>有効にしたいAPIを選ぶ f:id:julialangisthebestlang:20210606174936p:plain
操作したいテーブル右上の・・・をクリックCopy Linkを押す
Database IDはワークスペース名/と?の空いたの32文字の英数字なのでそれを保存する

https://www.notion.so/{workspace_name}}/{Database ID}?

3. データベースに文字列を追記

(データベースと呼んでいいか怪しいですが、テーブルを操作するときにdatabase idを求められるのでデータベースと呼びます)
表形式の末尾にOCHINCHINを挿入します API references

curl -X POST https://api.notion.com/v1/pages \
  -H "Authorization: {GUIで生成した}" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2021-05-13" \
  --data '{
    "parent": { "database_id": "{32文字のデータベースID}" },
    "properties": {
      "Name": {
        "title": [
          {
            "text": {
              "content": "OCHINCHIN"
            }
          }
        ]
      }
    }
  }'

指定したテーブルに文字列OCHINCHINが書き込まれる
動作動画
https://twitter.com/nomorepython/status/1401223143830687744

参考

API references
FAQ

備考

SDKも出てるっぽいのでいじりたい
テーブルデータ以外も操作できるのか?

お願い

引っ越しで
金がねンだわ
法隆寺

乞食リスト