はじめに
Notionで、あるpageの下に子のpageを作る自動化を試しました。
目次
あるpageの下に子のpageを作る
今回の自動化のユースケースは、Notion外にある内容をインポートしたいというものです。
GPT-4にPythonでやる方法を聞いたら、ライブラリnotion-clientとサンプルコードを教えてくれたので、それを元に手を動かしました(ありがとう!)。
インテグレーション
インテグレーションの作成
https://developers.notion.com/docs/create-a-notion-integration#getting-started
https://www.notion.com/my-integrations から作ります。
名前を決めるだけで、他はデフォルトでOKでした(nikkie-practice)。
プログラムに指定するシークレットを控えておきます。
親pageをインテグレーションに共有する
pageにintegrationをコネクトします。
これをしないと親pageが読み取れず、404エラーが返ってきます。
親ページはURL中のIDを控えておきます。
notion-client
今回の動作環境
- Python 3.11.8
- notion-client 2.2.1
環境変数NOTION_TOKEN
にintegrationのシークレットを設定します。
notion-clientを使った実装
「Create a page」のエンドポイントにPOSTリクエストを送ります。
https://developers.notion.com/reference/post-page
クライアントに指定している辞書の詳細は以下を見ると読み解けそうでした。
https://developers.notion.com/docs/working-with-page-content
終わりに
PythonプログラムでNotionにpageを作る設定・実装を見てきました。
Hello Worldはできたぞ!
私がつまづいたのはpageをintegrationに共有する「コネクト」でした。