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

Notion API创建页面验证错误排查(JavaScript)

解决Notion API notion.pages.create() 验证错误的思路

核心排查与修复步骤

1. 修正关联属性Subcategory的格式

你当前给Subcategory传的是空数组[],但关联(Relation)属性的正确格式必须包裹在relation字段中,即使是空值也要保持结构完整性:

Subcategory: { relation: [] }

Notion API对属性结构校验极为严格,单个属性格式错误会导致整个properties对象解析异常,这就是调整属性顺序后错误会转移到其他属性的原因——整个结构合法性已被破坏。

2. 精确匹配数据库属性名称

确保请求中使用的属性名(如Name、Date、Amount、Subcategory)与Notion数据库中定义的属性名完全一致,包括大小写、空格、特殊字符。比如数据库属性名为小写name,而你传了大写Name,就会触发验证错误。

3. 确认属性类型与数据库定义匹配

逐一核对每个属性的类型是否和数据库配置一致:

  • Name必须为**标题(Title)**类型,对应请求中的title字段
  • Date必须为**日期(Date)**类型,对应请求中的date字段
  • Amount必须为**数字(Number)**类型,对应请求中的number字段
  • Subcategory必须为**关联(Relation)**类型,对应请求中的relation字段

4. 检查Notion SDK版本

如果使用@notionhq/client SDK,确认是否为最新稳定版。旧版本可能存在格式兼容问题,升级后再测试:

npm install @notionhq/client@latest

修正后的完整请求示例

{
    parent: {
        type: 'database_id',
        database_id: databaseID
    },
    properties: {
        Name: { 
            title: [ {
                    type: 'text',
                    text: {
                        content: 'Expense1',
                        link: null
                    },
                    annotations: {
                        bold: false,
                        italic: false,
                        strikethrough: false,
                        underline: false,
                        code: false,
                        color: 'default'
                    },
                    plain_text: 'Expense1',
                    href: null
            } ] 
        },
        Date: { date: { start: '2023-06-23' } },
        Amount: { number: 9.56 },
        Subcategory: { relation: [] } // 修正关联属性格式
    }
}

内容的提问来源于stack exchange,提问作者Jack O'Connor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:10:23