Notion API调用search方法返回空结果 无法获取工作区页面
Notion API search方法返回空结果排查方案
1. 核心原因:集成页面权限未配置
Notion 内部集成默认没有任何工作区页面的访问权限,这是官方设计的安全机制,你需要手动给需要查询的页面/数据库开放集成权限:
- 打开目标页面/数据库,点击右上角「分享」按钮
- 在邀请搜索框中输入你创建的集成名称,选中后授予「可查看」及以上权限
- 父页面授权后,所有子页面、子数据库会自动继承权限,可实现批量授权
2. 其他常见排查方向
- 确认集成绑定的工作区和你存放页面的工作区一致,跨工作区的页面无法被搜索返回
- 确认目标页面没有被移入回收站,回收站内容不会被纳入搜索结果
- 可以先调用单页面查询接口验证权限是否配置生效:
// 替换为你已经授权的页面ID,能正常返回则说明权限配置正确 const pageRes = await notion.pages.retrieve({ page_id: '替换为你的页面ID' }) console.log(pageRes)
3. 可选:明确搜索类型过滤参数
如果只需要查询页面,可以明确添加过滤条件,避免返回无关的数据库等内容:
const pagesQuery = await notion.search({ filter: { value: 'page', property: 'object' } }) console.log(pagesQuery.results)
内容的提问来源于stack exchange,提问作者Xstoudi
相关产品推荐
相关产品推荐

