📒

Notion API x PythonでNotion DBを操作する方法

2023/10/10に公開

Notion API Python SDK

とりあえず試したのでメモです。

以下Notion SDKの公式リポジトリが詳しいです。
https://github.com/ramnes/notion-sdk-py

Notion側

以下でインテグレーションを作成します。
https://www.notion.so/my-integrations

以下の通りでOKです。

インテグレーションを作成すると、トークンを取得できます。取得したら、環境変数に設定しておきましょう。

$ export NOTION_TOKEN="NOTION_INTEGRATION_TOKEN"

制御したいページの右上の…をクリックして「+コネクトの追加」で先ほどのインテグレーションを設定しましょう。

続いて、NotionのDB(データベース)を作成してNOTION DB TOKENを取得します。取得するには、DBの以下ビューのリンクのコピーをクリックするだけです。リンクの以下のxxxxx部分がNOTION_DB_TOKENです。

https://www.notion.so/xxxxx?v=yyyy

Python実行側

Pythonを実行するマシンやクラウドの設定です。

以下のようなコードでDBの中身を取得できます。

import os
from pprint import pprint
from notion_client import Client

notion = Client(auth=os.environ['NOTION_DB_TOKEN'])

db = notion.databases.query(
    **{
        'database_id' : '<NOTION_DATABASE_ID>'
       }
)
pprint(db)

まとめ

書き込みとかはそのうちに。

参考

https://zenn.dev/syfut/articles/4906816e6e9118

https://zenn.dev/ysksatoo/articles/66fd26893a6cdd

https://tektektech.com/notion-api/#Notionintegration

https://zenn.dev/xianglishan/articles/ee6db4fc7dcbc8

https://zenn.dev/ysksatoo/articles/66fd26893a6cdd

https://github.com/ramnes/notion-sdk-py

https://qiita.com/thomi40/items/fe2a828746f31ad827ba

Discussion