如何通过Notion API实现Notion数据库的数据插入与删除操作
Notion API 数据库插入/删除操作指引
1. 向数据库插入数据
在Notion的体系中,插入数据库条目本质是创建一个关联到目标数据库的Page对象,调用POST /v1/pages接口即可完成操作。
前置要求:你的Notion Integration已获得目标数据库的编辑权限,且提前获取到目标数据库的ID。
请求示例:
const insertRes = await fetch('https://api.notion.com/v1/pages', { method: 'POST', headers: { 'Authorization': 'Bearer 你的Integration密钥', 'Notion-Version': '2022-06-28', 'Content-Type': 'application/json' }, body: JSON.stringify({ // 指定关联的目标数据库 parent: { database_id: '你的数据库ID' }, // 按数据库schema填充属性值,属性名需和数据库配置完全一致 properties: { "任务名称": { title: [ { text: { content: "新增的测试任务" } } ] }, "任务状态": { select: { name: "待执行" } }, "优先级": { number: 1 } }, // 可选配置:给条目添加正文内容 children: [ { object: 'block', paragraph: { rich_text: [{ text: { content: "这是任务的详情说明" } }] } } ] }) })
2. 删除数据库条目
Notion API没有独立的删除接口,删除操作本质是将条目对应的Page对象的archived属性设置为true,调用PATCH /v1/pages/{page_id}接口即可完成。
前置要求:提前获取待删除条目的page_id,该ID可以通过数据库查询接口返回的条目中的id字段获取。
请求示例:
const targetPageId = "待删除条目的page_id"; const deleteRes = await fetch(`https://api.notion.com/v1/pages/${targetPageId}`, { method: 'PATCH', headers: { 'Authorization': 'Bearer 你的Integration密钥', 'Notion-Version': '2022-06-28', 'Content-Type': 'application/json' }, body: JSON.stringify({ archived: true }) })
如果需要恢复已删除的条目,将上述archived参数改为false重新调用接口即可。
注意事项
- 所有属性的名称必须和数据库中配置的属性名称完全匹配,大小写、空格差异都会导致请求报错
- 批量操作时注意遵守Notion API的限流规则:每分钟最多请求100次
内容的提问来源于stack exchange,提问作者thmatew
相关产品推荐
相关产品推荐

