关于 notion
notion 是指导通过 ntn 命令行和 Notion API 管理工作区内容的技能,适用于自动化脚本和日常内容操作。它涵盖 Markdown 页面、数据源、文件与 Workers,并提供原始 API 请求方式。
主要功能
- 01用 Markdown 创建和更新页面
- 02查询数据源并筛选排序
- 03管理文件与上传内容
- 04通过 ntn api 调用 Notion API
- 05创建和部署 Workers
适用场景
- 01从 Markdown 文件创建 Notion 页面
- 02按条件查询数据源记录
- 03脚本中执行 Notion API 请求
- 04查看 Workers 运行记录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openclaw/ openclaw --skill notion安装后在 Claude Code 中输入/notion确认已加载。
详细介绍
Notion
优先使用官方 ntn CLI。仅在 ntn 不可用或原始请求更清晰时使用 curl。
设置
npm install -g ntn
ntn --version
ntn login
脚本/无头认证:
export NOTION_API_TOKEN=secret_or_ntn_token
export NOTION_API_VERSION=2026-03-11
ntn api 会自动设置 Authorization 和 Notion-Version。默认使用 CLI 登录;如果设置了 NOTION_API_TOKEN,则使用该令牌。
检查
ntn doctor
ntn api ls
ntn api ls --json
ntn api v1/comments --help
ntn api v1/comments --spec -X POST
ntn api v1/comments --docs -X POST
页面
优先使用 Markdown 的辅助工具:
ntn pages get <page-id>
ntn pages get <page-id> --json
ntn pages create --parent page:<page-id> --content '# Title\n\nBody'
ntn pages create --parent data-source:<data-source-id> < page.md
ntn pages update <page-id> --content '# Updated'
ntn pages update <page-id> < page.md
ntn pages trash <page-id> --yes
注意:
pages get会以页面属性作为前置元数据输出 Markdown。- 内容输入方式:
--content、标准输入,或在 TTY 中使用编辑器。 - 父级引用:
page:<id>、database:<id>、data-source:<id>。 - 如需使用属性、模板或完整的 Pages API,请使用
ntn api v1/pages。
数据源
ntn datasources resolve <database-id>
ntn datasources resolve <database-id> --json
ntn datasources query <data-source-id>
ntn datasources query <data-source-id> --limit 50 --json
ntn datasources query <data-source-id> --sort 'Date desc'
ntn datasources query <data-source-id> --filter '{"property":"Done","checkbox":{"equals":true}}'
拥有数据库 ID 时使用 resolve。查询需要数据源 ID。
原始 API
ntn api v1/users/me
ntn api v1/search query=roadmap page_size:=10
ntn api v1/pages 'parent[data_source_id]='"$DS_ID" 'properties[Name][title][0][text][content]=New item'
ntn api "v1/pages/$PAGE_ID" -X PATCH in_trash:=true
ntn api "v1/blocks/$PAGE_ID/children" -X PATCH \
'children[0][type]=paragraph' \
'children[0][paragraph][rich_text][0][text][content]=Hello'
输入语法:
path=value:字符串正文字段。path:=json:强类型 JSON 正文字段。name==value:查询参数。Header:Value:请求标头。- 对于较大的正文,使用
--data '<json>'或标准输入 JSON。 - 每个请求只能使用一种正文来源。
文件
ntn files create < image.png
ntn files create --filename photo.png --content-type image/png < /tmp/photo
ntn files create --external-url https://example.com/photo.png
ntn files get <upload-id>
ntn files list
工作器
ntn workers new
ntn workers deploy
ntn workers list --json
ntn workers runs list --json
ntn workers runs logs <run-id>
工作器可能需要 Business/Enterprise 套餐,并需在工作区中启用。
curl 回退方案
curl -sS "https://api.notion.com/v1/users/me" \
-H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2026-03-11" \
-H "Content-Type: application/json"
版本说明
- 当前最新 API 版本:
2026-03-11。 - 使用
in_trash,而不是archived。 - 附加块的位置设置使用
position,而不是扁平的after。 transcription块已重命名为meeting_notes。- 数据库可以包含多个数据源;页面父级通常使用
data_source_id。
评论
支持 Markdown