技能标识:openclaw-notion-api
Notion API 用于创建和管理页面、数据库和块。包含正确的图片、文件上传功能
使用 Notion API 创建/读取/更新页面、数据源(数据库)和块。
所有请求都需要:
bash
NOTIONKEY=$(cat ~/.config/notion/apikey)
curl -X GET https://api.notion.com/v1/... \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json
注意: Notion-Version 请求头是必需的。本技能使用 2025-09-03(最新版本)。在此版本中,数据库在 API 中称为数据源。
搜索页面和数据源:
bash
curl -X POST https://api.notion.com/v1/search \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json \
-d {query: 页面标题}
获取页面:
bash
curl https://api.notion.com/v1/pages/{page_id} \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03
获取页面内容(块):
bash
curl https://api.notion.com/v1/blocks/{page_id}/children \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03
在数据源中创建页面:
bash
curl -X POST https://api.notion.com/v1/pages \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json \
-d {
parent: {database_id: xxxxxx},
properties: {
名称: {title: [{text: {content: 新项目}}]},
状态: {select: {name: 待办}}
}
}
查询数据源(数据库):
bash
curl -X POST https://api.notion.com/v1/datasources/{datasource_id}/query \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json \
-d {
filter: {property: 状态, select: {equals: 活跃}},
sorts: [{property: 日期, direction: 降序}]
}
创建数据源(数据库):
bash
curl -X POST https://api.notion.com/v1/data_sources \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json \
-d {
parent: {page_id: xxx},
title: [{text: {content: 我的数据库}}],
properties: {
名称: {title: {}},
状态: {select: {options: [{name: 待办}, {name: 完成}]}},
日期: {date: {}}
}
}
更新页面属性:
bash
curl -X PATCH https://api.notion.com/v1/pages/{page_id} \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json \
-d {properties: {状态: {select: {name: 完成}}}}
向页面添加块:
bash
curl -X PATCH https://api.notion.com/v1/blocks/{page_id}/children \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: application/json \
-d {
children: [
{type: paragraph, paragraph: {rich_text: [{text: {content: 你好}}]}}
]
}
数据库项的常用属性格式:
使用直接上传方法上传图片或文件到 Notion(文件大小不超过 20MB)。两者的步骤完全相同,仅在步骤 3 的块类型上有区别。
创建上传对象以获取上传 URL:
bash
curl --request POST \
--url https://api.notion.com/v1/file_uploads \
-H Authorization: Bearer $NOTION_KEY \
-H Content-Type: application/json \
-H Notion-Version: 2025-09-03 \
--data {}
响应包含:
使用 multipart/form-data 上传实际的文件:
bash
curl --request POST \
--url https://api.notion.com/v1/fileuploads/{fileupload_id}/send \
-H Authorization: Bearer $NOTION_KEY \
-H Notion-Version: 2025-09-03 \
-H Content-Type: multipart/form-data \
-F file=@/path/to/file.png
重要:
将上传的文件作为块添加。根据文件类型选择不同的块类型:
上传图片:
bash
curl --request PATCH \
--url https://api.notion.com/v1/blocks/{page_id}/children \
-H Authorization: Bearer $NOTION_KEY \
-H Content-Type: application/json \
-H Notion-Version: 2025-09-03 \
--data {
children: [
{
type: image,
image: {
type: file_upload,
file_upload: {
id: {fileuploadid}
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 openclaw-notion-api-1776301884 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 openclaw-notion-api-1776301884 技能
skillhub install openclaw-notion-api-1776301884
文件大小: 5.81 KB | 发布时间: 2026-4-16 16:44