
ChatGPT 最近非常引人注目,因为它彻底改变了我们的生活和工作方式。就像我倾向于使用 OpenAI API GPT3 和 GPT 3.5 API,因为它可以完全自动化我的生活并减轻浪费时间但至关重要的重复性工作。使用它们就像吃一块黄油和大理石花纹丰富的和牛一样。
事实上,我们从来没有只有一种选择。在API和AI聊天机器人之间,Notion AI采用Anthropic的Claude生成式AI模型,凭借其AI编写和API能力,可以完美地为您提供半自动AI体验。虽然它不像GPT 3那么繁琐,但它给用户留下了清晰、轻薄、直接的使用体验。
在这篇文章中,我将引导您了解如何从 Notion 私人页面检索 Notion AI 内容,并使用 Notion API 更新新内容。
目录:使用 Notion API 的 CRUD Notion 页面内容
新应用程序和概念 API 密钥创建
Notion 提供免费试用版,包含 20 个生成 AI 请求。与OpenAI等其他AI平台相比,Notion的优势在于现场内容和数据库管理,主要与写作、翻译、摘要相关。它有一个月度计划,价格为 10 美元。免费或包月计划都可以让用户创建一个应用程序,它允许您将您的应用程序与 Notion 连接。但从我的角度来看,如果只使用API而不使用Notion AI,那么加入是不值得的。这是因为站在数据库和内容中心管理方面,可用的选项非常多,坦率地说,这对开发人员来说非常方便。
API 密钥可在我的连接管理页面中找到,您可以为 API 设置两个选项,即内部选项和公共选项。对于这种情况,我们可以选择内部目的。
创建. 完成后,请提前创建一个新的父页面并将该页面与您的应用程序连接。基本上已经准备好了,我们可以开始编写脚本了。
Python 中的基本 API 身份验证和标头设置
基本上,我们将在 CRUD 页面内容中使用两个主要的 Notion API 端点。具体如下:
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库。
首先,我们可以使用搜索端点来获取页面 ID,也可以直接将 ID 复制并输入到此端点路径中。
url = "https://api.notion.com/v1/blocks/" + pageID + "/children"
然后,使用 request 调用端点数据,它会返回 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 端点路径。这里需要一个 patch 方法来更新特定的页面块内容,而不是使用“get”方法。
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 章 + notion api”来订阅我们的时事通讯。我们会立即将脚本发送到您的邮箱。
我希望您喜欢阅读第 75 章 – 使用 Notion API 和 Python 的 CRUD 概念页面内容。如果您这样做了,请通过执行下列操作之一来支持我们,因为这总是对我们的频道有所帮助。
- 通过 PayPal ( paypal.me/Easy2digital ) 支持并捐赠我们的频道
- 订阅我的频道并打开通知铃Easy2Digital Youtube 频道。
- 关注并喜欢我的页面Easy2Digital Facebook 页面
- 使用主题标签 #easy2digital 在您的社交网络上分享文章
- 您订阅我们的每周通讯即可接收 Easy2Digital 最新文章、视频和折扣代码
- 通过 Patreon 订阅我们的月度会员即可享受独家优惠 ( www.patreon.com/louisludigital )