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

如何通过Notion API获取页面内的Database ID?

解决Notion页面内数据库ID的获取问题

方法1:遍历页面内容提取数据库ID

你可以调用Notion的Retrieve a page接口获取目标页面的完整内容,页面返回的children数组包含了页面内所有对象,其中类型为database的条目就是目标数据库,对应的id字段即为所需的Database ID。

具体操作步骤:

  • 调用GET /v1/pages/{page_id}接口,传入已知的页面ID(页面ID可从页面URL末尾的32位字符串提取)
  • 遍历返回结果中的children数组,筛选type为database的对象
  • 提取该对象的id字段,得到对应数据库ID

示例代码(Python):

import requests

NOTION_API_KEY = "你的API密钥"
PAGE_ID = "目标页面ID"

headers = {
    "Authorization": f"Bearer {NOTION_API_KEY}",
    "Notion-Version": "2022-06-28"
}

response = requests.get(f"https://api.notion.com/v1/pages/{PAGE_ID}", headers=headers)
page_data = response.json()

# 遍历子对象查找数据库
for child in page_data["children"]:
    if child["type"] == "database":
        database_id = child["database"]["id"]
        print(f"找到数据库ID:{database_id}")

方法2:通过搜索API批量定位数据库

如果页面和数据库有统一命名规则或标签,可使用Notion的Search接口(POST /v1/search),通过关键词、过滤条件(如指定对象类型为database)批量定位目标数据库ID。

示例过滤参数:

{
    "query": "数据库名称关键词",
    "filter": {
        "value": "database",
        "property": "object"
    },
    "sort": {
        "direction": "descending",
        "timestamp": "last_edited_time"
    }
}

注意事项

  • 确保API密钥拥有read权限(用于获取页面内容)和write权限(用于填充数据库)
  • 保持Notion API版本一致,建议使用最新稳定版(如2022-06-28)
  • 若页面内存在多个数据库,可通过title字段进一步区分目标数据库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:15:42