You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Notion API追加块子元素时出现400错误,如何修复?

解决Notion Patch Block Children接口400错误的方案

核心问题分析

你的代码触发400错误主要有两个关键原因:

  • 缺少必填请求体:Patch Block Children接口要求必须传入要添加/更新的子块内容,你的请求未提交任何数据。
  • 占位符未替换:URL中的{my_blockid}和请求头里的{my_token}是示例占位符,需要替换为你实际的Notion块ID和API令牌。

修正后的代码示例

import requests
import json

# 替换为你的实际块ID和API令牌
BLOCK_ID = "your_actual_block_id_here"
NOTION_TOKEN = "your_actual_notion_token_here"

url = f"https://api.notion.com/v1/blocks/{BLOCK_ID}/children"

headers = {
    'Authorization': f'Bearer {NOTION_TOKEN}',
    "accept": "application/json",
    "Notion-Version": "2022-06-28",
    "content-type": "application/json"
}

# 构造要添加的子块数据(示例:添加一个文本段落)
payload = {
    "children": [
        {
            "object": "block",
            "type": "paragraph",
            "paragraph": {
                "rich_text": [
                    {
                        "type": "text",
                        "text": {
                            "content": "这是通过API添加的子块内容"
                        }
                    }
                ]
            }
        }
    ]
}

# 发送请求时传入请求体
response = requests.patch(url, headers=headers, data=json.dumps(payload))

print(response.status_code)
print(response.json())  # 打印响应内容,方便排查其他问题

额外排查要点

  • 块权限验证:确保API令牌拥有该块的编辑权限,且块所在的页面/数据库已共享给你的集成应用。
  • Notion版本兼容性:建议使用文档推荐的稳定API版本(如2022-06-28或更新),避免版本不兼容导致的错误。
  • 请求体格式检查:确保子块结构符合Notion API要求,每个块必须包含object、type字段,以及对应类型的内容结构,避免语法错误。

内容的提问来源于stack exchange,提问作者Copperfield David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:35:03