😇

Notion ApiでPythonライブラリを管理しようとしたけど諦めた

2022/03/12に公開約1,600字

一旦書き殴ります。マークダウンに慣れていないので読みづらいかもしれませんがご了承を。

最近Notionを使うようになりました。
理由はカッコいいからです。
冗談は縦おき、NotionにはNotion Apiなるものがあって
ベータなのですが外部からNotionを操作できるのです。
が、これがかなり曲者というか、私のApiに関する操作の感覚とだいぶ違ったので

「ちょっと使い物にはならないなぁ」と思った話です。

やろうとしたこと
MacのPythonに導入したライブラリをどこかに管理したい

アプローチ
pip listの出力をNotion Apiを利用して指定したブロックに追記する

Notion Apiのリファレンスをご覧いただければわかるのですが

https://developers.notion.com/reference/patch-block-children

ブロックに何かを追加する場合は以下のようなサンプルが示されています

curl -X PATCH 'https://api.notion.com/v1/blocks/b55c9c91-384d-452b-81db-d1ef79372b75/children' \
  -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2022-02-22" \
  --data '{
	"children": [
		{
			"object": "block",
			"type": "heading_2",
			"heading_2": {
				"rich_text": [{ "type": "text", "text": { "content": "Lacinato kale" } }]
			}
		},
		{
			"object": "block",
			"type": "paragraph",
			"paragraph": {
				"rich_text": [
					{
						"type": "text",
						"text": {
							"content": "Lacinato kale is a variety of kale with a long tradition in Italian cuisine, especially that of Tuscany. It is also known as Tuscan kale, Italian kale, dinosaur kale, kale, flat back kale, palm tree kale, or black Tuscan palm.",
							"link": { "url": "https://en.wikipedia.org/wiki/Lacinato_kale" }
						}
					}
				]
			}
		}
	]
}'

Dataの構造がエグくない?
Graph QL的なものをふと思い出したのですがそれでもこんなに七面倒な構造ではなかったきがします。
Notion ApiのPythonライブラリもあるのですがData部分を簡潔に書けるようにはなってませんでした。
ちょこっとググってもみましたが大体データベースの話だったので
ぺろっとテキストを貼ろうとしてる人はいなかったようです。

というわけで

手で貼って終わりにしました。

まあライブラリなんてPython実行しようとしたら怒られるしいちいち管理しなくてもいいか・・・

Discussion

ログインするとコメントできます