英文:
Notion API - Issue with creating pages
问题
在查阅了Notion文档之后,我无法弄清楚为什么我一直收到400状态码的返回。我的代码如下:
const { Client } = require("@notionhq/client");
const notion = new Client({
auth: process.env.NOTION_TOKEN,
});
async function main() {
try {
await notion.pages.create({
parent: {
type: "database_id",
database_id: process.env.DB_ID,
},
properties: {
Name: [
{
text: {
content: "测试名称",
},
},
],
Link: {
url: "www.google.com",
},
Notes: [
{
text: {
content: "示例注释",
},
},
],
Year: [
{
text: {
content: "2020",
},
},
],
},
});
} catch (error) {
console.error(error);
}
}
main();
API对于文本字段没有问题。问题出在名为Link的url列上,我收到以下错误:
body.properties.Link.id应该被定义,而不是`undefined`。
body.properties.Link.name应该被定义,而不是`undefined`。
body.properties.Link.start应该被定义,而不是`undefined`。
此外,似乎只要我不使用文本列,就会出现相同的错误。我在关系和复选框上也遇到了这个错误。这里是我一直在参考的访问页面属性的文档。
如果我使用这个示例中创建页面标题的模板,我也会得到相同的错误:
Name: {
title: [
{
text: {
content: "Tuscan Kale",
},
},
],
},
我已经检查了环境变量和集成权限,多次确认过了。
英文:
After scouring the Notion docs, I can't figure out why I keep getting a 400 status back. My code:
const { Client } = require("@notionhq/client");
const notion = new Client({
auth: process.env.NOTION_TOKEN,
});
async function main() {
try {
await notion.pages.create({
parent: {
type: "database_id",
database_id: process.env.DB_ID,
},
properties: {
Name: [
{
text: {
content: "Test name",
},
},
],
Link: {
url: "www.google.com",
},
Notes: [
{
text: {
content: "sample notes",
},
},
],
Year: [
{
text: {
content: "2020",
},
},
],
},
});
} catch (error) {
console.error(error);
}
}
main();
The API has no problem with the text fields. It's on the url column of key Link that I get the following error:
body.properties.Link.id should be defined, instead was `undefined`.
body.properties.Link.name should be defined, instead was `undefined`.
body.properties.Link.start should be defined, instead was `undefined`.
Further, it seems I get this same error as long as I'm not using a text column. I've gotten this error for relations and checkboxes as well. Here are the docs I've been referring to for accessing page properties.
I also get this same error if I use the template from this example for creating page titles:
Name: {
title: [
{
text: {
content: "Tuscan Kale",
},
},
],
},
I checked and double checked my environment variables and integration permissions.
答案1
得分: 1
很抱歉,API在这种情况下返回了一个误导性的错误,实际问题出在你指定标题和富文本属性的方式上。
const { Client } = require('@notionhq/client');
const notion = new Client({
auth: process.env.NOTION_TOKEN,
});
async function main() {
try {
await notion.pages.create({
parent: {
type: 'database_id',
database_id: process.env.DB_ID,
},
properties: {
Name: {
title: [
{
text: {
content: '测试名称',
},
},
],
},
Link: {
url: 'www.google.com',
},
Notes: {
rich_text: [
{
text: {
content: '示例注释',
},
},
],
},
Year: {
rich_text: [
{
text: {
content: '2020',
},
},
],
},
},
});
} catch (error) {
console.error(error);
}
}
main();
英文:
Unfortunately the api returns a misleading error in this case, the issue is actually with the way you are specifying the title and rich_text properties.
const { Client } = require('@notionhq/client');
const notion = new Client({
auth: process.env.NOTION_TOKEN,
});
async function main() {
try {
await notion.pages.create({
parent: {
type: 'database_id',
database_id: process.env.DB_ID,
},
properties: {
Name: {
title: [
{
text: {
content: 'Test name',
},
},
],
},
Link: {
url: 'www.google.com',
},
Notes: {
rich_text: [
{
text: {
content: 'sample notes',
},
},
],
},
Year: {
rich_text: [
{
text: {
content: '2020',
},
},
],
},
},
});
} catch (error) {
console.error(error);
}
}
main();
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论