ChatGPT は、私たちの生活と仕事のスタイルをひっくり返すため、最近非常に瞬きしています。同様に、私は OpenAI API GPT3 および GPT 3.5 API を使用する傾向にあります。これは、私の生活を完全に自動化し、時間の無駄だが重要な反復作業の負荷を軽減できるからです。両方を使用すると、バターと霜降りの豊かな和牛を食べるのと同じです。
実際、選択肢は 1 つだけということはありません。 API と AI チャットボットの間で、Anthropic の Claude 生成 AI モデルを使用している Notion AI は、AI ライティングと API 機能を備えた半自動 AI エクスペリエンスを完璧に提供できます。 GPT 3ほどのクランチ感はありませんが、クリアで薄くストレートな使用感をユーザーに印象付けます。
この記事では、Notion プライベート ページから Notion AI コンテンツを取得し、Notion API を使用して新しいコンテンツを更新する方法について説明します。
目次: Notion API を使用した CRUD Notion ページ コンテンツ
- アプリと Notion API キーの作成
- 基本認証とヘッダー設定
- 新しい概念ページを作成する
- Notion ページのコンテンツを取得する
- Notion ページ ブロックのコンテンツを更新する
- 概念ページの削除
- Notion API を使用した取得と更新の完全な Python スクリプト
- よくある質問
新しいアプリと Notion API キーの作成
Notion では、生成 AI の 20 リクエストの無料トライアルを提供しています。 OpenAI などの他の AI プラットフォームと比較して、Notion の強みはオンサイトのコンテンツとデータベースの管理であり、主にライティング、翻訳、要約に関連します。月額プランがあり、価格は10ドルです。無料プランでも月額プランでも、ユーザーはアプリを作成できるため、アプリを Notion に接続できます。しかし、私の観点からすると、Notion AI を使用せずに API を使用するだけであれば、参加する価値はありません。それは、データベースとコンテンツ ハブの管理上にあるため、利用可能なオプションが非常に多く、率直に言って開発者にとって非常に便利だからです。
API キーは接続管理ページで入手できます。API に設定できるオプションは 2 つあり、内部とパブリックです。この場合、内部目的を選択できます。
作成したら、事前に新しい親ページを作成し、アプリとページを接続してください。基本的には準備ができたので、スクリプトの作成を開始できます。
Python の基本的な API 認証とヘッダー設定
基本的に、CRUD ページ コンテンツで使用する主な Notion API エンドポイントは 2 つあります。これらは次のとおりです。
https://api.notion.com/v1/pages
https://api.notion.com/v1/blocks/
次に、アプリの状況に応じてクラスを作成するかどうかでヘッダーを設定する必要があります。どのような場合でも、これは設定する必要がある基本的なヘッダーです。
headers = {
"accept" : "application/json" ,
"Notion-Version" : "2022-06-28" ,
"content-type" : "application/json" ,
"Authorization" : "your Notion API Key"
}
CRUD – Notion API を使用して Notion ページを作成する
既存のページの子である新しいページを作成するには、タイトル コンポーネントのみが必要です。タイトルは、プロパティ本体パラメータ内の唯一の有効なプロパティです。
新しいページを作成する完全なスクリプトに興味がある場合は、「第 75 章 + 概念 API」というメッセージを残して購読してください。
CRUD – Notion API を使用して Notion プライベート ページ ブロック コンテンツを取得する
ページ ブロックのコンテンツを取得するには、親ページ ID と json ライブラリという 2 つの主要コンポーネントが必要です。
まず最初に、検索エンドポイントを使用してページ ID を取得するか、ID を直接コピーしてこのエンドポイント パスに入力します。
url = "https://api.notion.com/v1/blocks/" + pageID + "/children"
次に、リクエストを使用してエンドポイント データを呼び出すと、JSON データ形式が返されるため、それを解釈するために json() を追加する必要があります。
response = requests . get ( url , headers = headers ). json ()[ 'results' ]
最後になりましたが、応答の形式は次のようになります。少し長く見えますが、複雑ではありません。
{
"object": "block",
"id": "c02fc1d3-db8b-45c5-a222-27595b15aea7",
"parent": {
"type": "page_id",
"page_id": "59833787-2cf9-4fdf-8782-e53db20768a5"
},
"created_time": "2022-03-01T19:05:00.000Z",
"last_edited_time": "2022-07-06T19:41:00.000Z",
"created_by": {
"object": "user",
"id": "ee5f0f84-409a-440f-983a-a5315961c6e4"
},
"last_edited_by": {
"object": "user",
"id": "ee5f0f84-409a-440f-983a-a5315961c6e4"
},
"has_children": false,
"archived": false,
"type": "heading_2",
"heading_2": {
"rich_text": [
{
"type": "text",
"text": {
"content": "Lacinato kale",
"link": null
},
"annotations": {
"bold": false,
"italic": false,
"strikethrough": false,
"underline": false,
"code": false,
"color": "green"
},
"plain_text": "Lacinato kale",
"href": null
}
],
"color": "default",
"is_toggleable": false
}
}
CRUD – Notion API を使用して Notion プライベート ページ ブロック コンテンツを更新する
Notion ページのコンテンツの取得と同様に、更新にも同じ API エンドポイント パスが使用されます。ここでは、「get」メソッドを使用する代わりに、特定のページ ブロックのコンテンツを更新するために patch メソッドが必要です。
response = requests . request (
"PATCH" ,
url ,
headers = headers ,
json ={ "children" : [ text_block ]}
)
特定のコンテンツ タイプと形式に従って、キーの子を含む JSON データも必要です。以下にサンプルを示します。
text_block = {
"type" : "paragraph" ,
"paragraph" : {
"rich_text" :[{
"type" : "text" ,
"text" : {
"content" : textBook ,
"link" : None
}
}]
}
}
CRUD – 削除の概念
Notion では、Notion ページを削除することをアーカイブと呼びます。 API 経由でページをアーカイブするには、アーカイブされた本文パラメータをtrueに設定してページ更新リクエストを送信します。ページを復元するには、 archived をfalseに設定します。
新しいページを作成する完全なスクリプトに興味がある場合は、「第 75 章 + 概念 API」というメッセージを残して購読してください。
Notion API を使用した取得と更新の完全な Python スクリプト
第 75 章 – Notion API と Python を使用した CRUD Notion ページ コンテンツに興味がある場合は、「第 75 章 + 概念 API」というメッセージを追加してニュースレターを購読してください。 。スクリプトはすぐにあなたのメールボックスに送信されます。
第 75 章 – Notion API と Python を使用した CRUD Notion ページ コンテンツを楽しんで読んでいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。
- PayPal ( paypal.me/Easy2digital ) を通じて私たちのチャンネルをサポートし、寄付してください。
- 私のチャンネルを購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
- Easy2Digital Facebook ページをフォローして「いいね!」してください
- ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
- Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
- Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )
よくある質問:
Q1: Notionを使うためにはどのようなデバイスが必要ですか?
A: Notionはウェブブラウザ上で利用することができます。パソコン、スマートフォン、タブレットなど、インターネットに接続できるデバイスで利用することができます。
Q2: Notionの基本的な使い方を教えてください。
A: Notionでは、タスク管理、ドキュメント作成、ノート作成などさまざまな用途に活用することができます。各ページにはブロックと呼ばれる要素を追加して情報を編集することができます。
Q3: Notionで作成した情報はどのように共有できますか?
A: Notionでは、作成した情報をリンクや招待リンクを通じて他のユーザーと共有することができます。また、特定のユーザーに編集権限を与えることも可能です。
Q4: Notionにはどのようなプランがありますか?
A: Notionには個人利用向けの無料プランと、チームやビジネス向けの有料プランがあります。有料プランではより多くの機能やストレージ容量が利用できます。
Q5: Notionで作成したデータはバックアップされますか?
A: Notionでは作成したデータを自動的にバックアップします。安心してデータを管理することができます。
Q6: Notionで使用できる絵文字やアイコンはありますか?
A: Notionでは絵文字やアイコンを利用することができます。絵文字やアイコンを挿入することで、情報の可視化や視覚的な表現が可能です。
Q7: Notionのデータはオフラインで利用できますか?
A: Notionはオンラインで使用することが基本ですが、一部のデータはオフラインでも閲覧や編集が可能です。事前に同期しておくことで、オフライン環境でもデータを利用することができます。
Q8: Notionで作成した情報は他のアプリと連携できますか?
A: Notionは他のアプリとの連携が可能です。APIを利用することで、Notionのデータを他のアプリに取り込んだり、他のアプリのデータをNotionに連携させることができます。
Q9: Notionのセキュリティ対策はどのようになっていますか?
A: Notionではデータのセキュリティに配慮しており、SSL暗号化やアクセス制御などの対策を行っています。また、二要素認証の設定も可能です。
Q10: Notionのプラットフォームはどのような言語に対応していますか?
A: Notionは多言語対応しており、日本語を含むさまざまな言語で利用することができます。