调用Notion Update Page接口返回200但未更新属性求助
解决Notion PATCH /v1/pages返回200但页面属性未更新的问题
针对调用Notion PATCH /v1/pages接口返回200 OK,但页面属性未实际更新的问题,可按以下步骤排查解决:
排查方向与解决方案
1. 确认目标Page ID正确性
你调用接口时使用的ID必须是数据库中具体记录(行)的Page ID,而非数据库本身的ID。获取正确ID的方式:
- 打开表格中对应行的独立页面
- 从页面URL中提取ID(格式类似
https://www.notion.so/xxxx-[PAGE_ID],取-后的36位字符串)
2. 严格匹配属性名称
确保请求体中properties下的属性名称与Notion数据库中的属性名称完全一致,包括:
- 大小写(如
Vendidos与vendidos会被视为不同属性) - 特殊字符(如西班牙语重音符号)
建议直接从Notion数据库的属性设置界面复制名称,避免手动输入出错。
3. 验证集成权限
确认你的Notion集成已被授予目标数据库的编辑权限:
- 进入Notion集成管理页面
- 找到对应集成,检查其关联的工作空间与数据库权限,确保拥有编辑权限
4. 校验请求体JSON格式
请求JSON需严格符合语法要求,避免多余逗号、引号不匹配等问题。以下是修正格式后的示例命令(替换为正确的Page ID与Token):
curl --location --request PATCH 'https://api.notion.com/v1/pages/[正确的记录Page ID]' \ --header 'Authorization: Bearer YOUR_NOTION_TOKEN' \ --header 'Notion-Version: 2022-06-28' \ --header 'Content-Type: application/json' \ --data-raw '{ "properties": { "Vendidos": { "number": 5 } } }'
5. 检查属性类型匹配
确保请求体中属性的类型与数据库中定义的类型完全一致:
- 若数据库中
Vendidos是数字类型,请求体需用"number": 5格式 - 若属性是其他类型(如文本、选择),需对应使用Notion API要求的格式
6. 验证响应内容
即使状态码为200,也需查看接口返回的响应体,检查properties字段下的Vendidos值是否已更新。若响应体中属性值已变更但Notion客户端未显示,可能是客户端同步延迟,刷新页面即可。
内容的提问来源于stack exchange,提问作者Sebastian Cornejo
相关产品推荐
相关产品推荐

