使用 notion javascript SDK 更新 notion 中的页面时验证错误

Validation error while updating pages in notion by using the notion javascript SDK

这是错误:

客户端警告:请求失败{ 代码:'validation_error', 消息:'正文验证失败。修复一:应该定义 body.properties.body.id,而不是 undefined。 body.properties.body.name 应该被定义,而不是 undefined。 body.properties.body.start 应该被定义,而不是 undefined。' } 正文验证失败。修复一:应该定义 body.properties.body.id,而不是 undefined。 body.properties.body.name 应该被定义,而不是 undefined。 body.properties.body.start 应该被定义,而不是 undefined

这是我的代码:

async function update() {
  const res_2 = await notion.databases.query({ database_id: `${databaseId}` });

  res_2.results.forEach(async (page, index) => {
    let property_id = page.properties.Excerpt.id;
    if (index === 0) {
      try {
        const res_3 = await notion.pages.update({
          page_id: page.id,
          properties: {
            [property_id]: {
              type: "rich_text",
              rich_text: {
                "content": "hey"
              }
            }
          }
        })

      } catch (err) {
        console.log(err.message)
      }
    }
  })
}
update();

我不明白为什么会出现正文验证错误以及错误的来源。有任何修复吗?

经过一番挖掘,我发现这个错误一般发生在请求正文中缺少参数的情况下。根据官方概念文档,

The request body does not match the schema for the expected parameters. Check the "message" property for more details. https://developers.notion.com/reference/errors

我没有正确构建对象,这就是我收到此错误的原因。

rich_text_object的正确构造如下:

properties: {
  "Excerpt": {
    "rich_text": [
      {
        "type": "text",
        "text": {
          "content": "hello"
        }
      }
    ]
  }
}

您可以在此处找到更多信息:https://developers.notion.com/docs/working-with-page-content#creating-a-page-with-content