Notion の API を使用する際に、大体ページを追加したりすることが多いと思うんですが、書いてて思いました。
プロパティを Json で指定するのヒジョ~~~~~~~~にめんどくさくね??????
というのも、ページを追加するときにプロパティを適宜指定して~ってことをすると思うんですが、それを Json 形式でまとめないといけないのがネックになっていました。 というわけで、面倒なことは AI にやらせよう!!!!!!! ってことでやっていきます。
まず大前提としてこれが危うい気がするので試してみます。
目標としては、こんな感じのデータベースに、プロパティを含めてちゃんと書き込まれるのかを試します。
データベースIDを与えるので、そのデータベースに日付プロパティ(ひづけ)とタイトルプロパティ(なまえ)とセレクトプロパティ(どこ)を書き込むAPIをCurlコマンドで渡してもらってよいですか?各々のプロパティは適当な値を入れてください。
了解しました。データベースID、日付プロパティ(ひづけ)、タイトルプロパティ(なまえ)、セレクトプロパティ(どこ)に適当な値を書き込むためのCurlコマンドを以下に示します。この例では、以下のような値を設定しています: ひづけ(日付プロパティ): "2024-04-02" なまえ(タイトルプロパティ): "サンプルタイトル" どこ(セレクトプロパティ): "東京" Notion APIを利用する際には、AuthorizationヘッダーにあなたのNotion統合の秘密鍵(Bearerトークン)を設定する必要があります。また、データベースIDを適切な値に置き換えてください。 <省略> YOUR_INTEGRATION_TOKENは、Notion APIのアクセスキーに置き換えてください。 YOUR_DATABASE_IDは、データを書き込みたいNotionデータベースのIDに置き換えてください。 このコマンドを実行する前に、必要な認証情報(トークンとデータベースID)を正しく設定してください。また、Notion APIのバージョンが変更されている可能性があるため、最新の情報についてはNotionの公式ドキュメントを確認することをお勧めします。
curl -X POST '<https://api.notion.com/v1/pages>' \\
-H 'Authorization: Bearer YOUR_INTEGRATION_TOKEN' \\
-H 'Content-Type: application/json' \\
-H 'Notion-Version: 2023-05-11' \\
--data '{
"parent": { "database_id": "YOUR_DATABASE_ID" },
"properties": {
"ひづけ": {
"date": {
"start": "2024-04-02"
}
},
"なまえ": {
"title": [
{
"text": {
"content": "サンプルタイトル"
}
}
]
},
"どこ": {
"select": {
"name": "東京"
}
}
}
}'
{
"object": "error",
"status": 400,
"code": "missing_version",
"message": "Notion-Version header failed validation: Notion-Version header should be \\"2021-05-11\\", \\"2021-05-13\\", \\"2021-08-16\\", \\"2022-02-22\\", or \\"2022-06-28\\", instead was \\"2023-05-11\\".",
"request_id": "32a73ee4-5f26-4634-9c05-d094372e0308"
}
与えた Notion バージョン 2023-05-11
が違うのでこれを 2022-06-28
に修正すると、動きました!
私は日本語を理解するのであなたは日本語で話してください。 あなたはNotionAPIを使ったデータベースの書き込みに関してJsonを生成するプロフェッショナルです。 私は、あなたにデータベースの構造を教えるので、それでデータベースにページを追加するJsonを書いてください。 手順として以下を想定します。 1. 私は、あなたにデータベースの構造(プロパティ)を説明します。 2. あなたは与えられた構造をもとに、サンプルデータを適当に入れ込み、 curlコマンドで実行できるコードを記述し、 「このコマンドを叩いて実行してテストしてください」と説明します。 このとき、ヘッダーに`Notion-Version`がありますが、これは`2022-06-28`で固定してください。 また、データベースIDとインテグレーショントークンの取得方法も案内できたらしてください。 3. テストの結果を聞き、失敗した場合は適宜Jsonデータを修正してください。 テストが成功した場合、Jsonをコードブロックで与えてください。 1~3をすると、あなたの仕事は完了です。
とりあえず適当に GPTs を設定していきます。
ChatGPT - Notion API Assistant for JSON
Notion API で一番触る部分を効率化できたと思うのでとても良い開発体験だったと思います。 今度は Claude あたりも触りたいね。