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

使用Notion API 2022-06-28版本返回异常值求助

Notion API查询数据库仅返回属性ID,无实际数据的解决方案

问题诊断

你遇到的核心问题是请求体没有被正确传递给Notion API,导致服务器返回的是数据库属性的元数据(仅ID)而非每条记录的实际内容。你的代码里调用requests.post时,没有把payload以JSON格式发送——默认情况下requests.post会把数据编码为表单格式,而Notion API要求的是JSON格式的请求体。

修正后的代码

把请求部分改成用json参数传递payload:

import requests
database_id = '************************************'
token_key = '************************************'
url = f"https://api.notion.com/v1/databases/{database_id}/query"

payload = {
    "page_size": 100
}
headers = {
    "Accept": "application/json",
    "Notion-Version": "2022-06-28",
    "Content-Type": "application/json",
    "Authorization": f"Bearer {token_key}"
}

# 关键修改:用json=payload传递JSON格式的请求体
response = requests.post(url, headers=headers, json=payload)
data = response.json()

验证结果

执行修正后的代码后,再访问data['results'][0]['properties'],应该能看到每个属性的完整结构:比如文本类型会包含rich_text字段,数字类型包含number字段,日期类型包含date字段等,而非仅返回属性ID。

额外排查点

如果修正后仍有问题,可以检查:

  • 你的集成token是否拥有该数据库的读取权限(在Notion工作区的集成设置里确认权限范围)
  • 数据库ID是否正确复制(注意不要包含URL中?v=开头的额外参数)
  • Notion-Version请求头是否准确(2022-06-28是官方支持的稳定版本)

内容的提问来源于stack exchange,提问作者Andy Lee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 08:36:22