使用Notion JS SDK更新页面Status属性报400验证错误如何解决
问题根因
两个问题直接导致你调用失败:
- 传参结构错误:Status类型属性的赋值字段是
name,不是你写的title,你代码里status: {title: 'Done'}的结构完全不符合接口要求。 - 你看到的
Not currently editable.是过期的旧文档标注:Notion API在2023年中就已经正式开放Status属性的编辑能力,该提示已经从最新官方文档移除,你访问到的是缓存的旧版本内容。
修复代码
把参数里的字段替换正确即可,属性key用属性名'Status'或者属性ID都能正常生效:
const response = await notion.pages.update({ page_id: 'abc123', properties: { [statusProp.id]: { status: { name: 'Done' } } } })
报错解释
你收到的一长串校验错误,是因为API识别到你传入的status结构不符合规范后,自动遍历所有支持的属性类型做校验,发现没有任何一个类型的必填字段匹配,才抛出了所有类型字段均未定义的提示,不是接口不支持Status属性。
补充注意:目前Status属性的
color子属性确实不支持通过API修改,选项颜色是数据库属性层面的预设配置,调用接口时只能选择数据库内已经存在的Status选项名称,无法单独修改单条页面Status的显示颜色。
内容的提问来源于stack exchange,提问作者vikiorf
相关产品推荐
相关产品推荐

