以下の内容はhttps://uga-box.hatenablog.com/entry/2024/07/31/000000より取得しました。


【Notion】APIを使ってNotionDBにデータを保存する

APIを使ってNotionDBにデータを保存したく、やり方を調べた

まずは、notion の integrationsページにいく

www.notion.so

ここで、新しいインテグレーションを作る必要があるが、これはworkspaceに対して管理者権限がないと行えない

なので、権限をつけてもらうか、オーナーにインテグレーションを作成してもらう必要がある

トークンを発行できたとして話を進めると、次にNotionDBのURLを取得する

すると、以下のような構成になっているので データベースID を控えておく

https://www.notion.so/myworkspace/<データベースID>?v=<ビューID>

あとはこのドキュメントを見て進める

developers.notion.com

こんな感じのテーブルに対して挿入したい場合

次のようなリクエストで投稿できる

curl -X POST https://api.notion.com/v1/pages \
  -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2022-06-28" \
  --data '{
    "parent": { "type": "database_id", "database_id": "<データベースID>" },
    "properties": {
      "Grocery item": {
        "type": "title",
        "title": [{ "type": "text", "text": { "content": "Tomatoes" } }]
      },
      "Price": {
        "type": "number",
        "number": 1.49
      },
      "Last ordered": {
        "type": "date",
        "date": { "start": "2021-05-11" }
      }
    }
  }'

ここで $NOTION_API_KEY はインテグレーションを作成して発行されたトークンを設定する

そして、database_id に、URLから取得した<データベースID>を設定する

他に忘れてはいけないのが、リクエスト HEADで

  • Content-Type: application/json
  • Notion-Version: 2022-06-28

は忘れず設定する

Notion Version は Notion API のバージョンのことで、下のドキュメントによると2022-06-28が最新らしいので、固定でこれを入れておく

developers.notion.com

送信するプロパティの型(titlenumberdateなど)が他にどのようなものがあるかは以下を確認する

developers.notion.com

これで実行すると、NotionDBに値が挿入された




以上の内容はhttps://uga-box.hatenablog.com/entry/2024/07/31/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14