我将使用 python 从其他网站跟踪我的电影愿望清单。现在我想给每部电影一些不同的标签。但概念参考告诉我
多选属性值对象在 multi_select 属性中包含一个多选选项值数组。
所以,我想知道如何通过 notionAPI 添加标签。或者如何使用标签模板创建数据库。
我将使用 python 从其他网站跟踪我的电影愿望清单。现在我想给每部电影一些不同的标签。但概念参考告诉我
多选属性值对象在 multi_select 属性中包含一个多选选项值数组。
所以,我想知道如何通过 notionAPI 添加标签。或者如何使用标签模板创建数据库。
对于 Notion-Version: 2021-08-16',它可以通过 Notion api 以 muitl-select 形式添加标签。
curl -X POST 'https://api.notion.com/v1/pages' \
-H 'Authorization: Bearer ''' \
-H 'Notion-Version: 2021-08-16' \
-H "Content-Type: application/json" \
--data '{"parent": { "database_id": "" }, "properties": {"Name": {"title": [{"text": {"content": "Tuscan Kale"} } ] }, "Picture": {"files": [{"name": "000150748673-ofnuhb-t500x500.jpg", "type": "external", "external": {"url": "https://www.yan.sg/blog/wp-content/uploads/2021/11/frc-1c8ef3940bf852e32c300ee2feb9a53b-218x150.jpg"} }] }, "Status": {"multi_select": [{"name": "Rainbow Grocery", "color": "gray"}]}}}'
假设您的 tags 属性名为“Tags”:
curl -X POST https://api.notion.com/v1/pages \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-H "Notion-Version: 2021-05-13" \
--data '{
"parent": { "database_id": "'${DATABASE_ID}'" },
"properties": {
"Name": {
"title": [
{
"text": {
"content": "'${NAME}'"
}
}
]
},
"Tags": {
"multi_select": [
{"name": "'${TAG}'"}
]
}
}
}'
请注意,您必须在添加之前在数据库字段中预先填充标签名称,否则您将收到以下错误:
{"object":"error","status":400,"code":"validation_error","message":"dcp[ is an invalid select option \"TAG NAME\"."
据我所知,在当前的 Notion API 版本(2021-05-13)中无法创建新的选择或多选选项。但好消息是,一个非官方的 python 库可以做到这一点。
notion-py是一个非官方的 Python API 客户端,通过模拟用户的 http 请求行为来实现 notion 操作。当您在数据库中创建或更新页面时,如果 select 或 multi-select 中的某些选项不存在,它可以添加新选项。
使用 pip 安装:pip install git+https://github.com/jamalex/notion-py.git@refs/pull/294/merge
或在 requirements.txt 文件中:git+https://github.com/jamalex/notion-py.git@refs/pull/294/merge