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
相关产品推荐
相关产品推荐

