核心用法
notion-api 是一个轻量级 Node.js CLI 封装器,用于与 Notion API 交互。主要功能包括:
1. 搜索:全局搜索 Notion 工作区内容
2. 数据库查询:支持指定数据源 ID 查询,可传入原生 JSON 过滤条件
3. 创建页面:在指定数据库中快速创建条目
认证支持 NOTION_KEY 环境变量或 ~/.config/notion/api_key 配置文件,实现密钥与代码分离,便于团队协作。
显著优点
- 零硬编码设计:数据库 ID 和密钥均通过参数或外部配置传入,代码仓库干净安全
- JSON 原生支持:支持直接传入 Notion API 原生过滤和排序语法,灵活性高
- 轻量无依赖:单一脚本实现,Node 原生运行,无额外依赖负担
- 团队协作友好:密钥外置模式符合 12-Factor 应用原则
潜在局限性
- 功能覆盖有限:仅实现搜索、查询、创建三大核心操作,缺少更新、删除、块级操作等完整 CRUD
- 错误处理待完善:CLI 输出为原始 JSON,无格式化错误提示或重试机制
- Rate Limit 需手动处理:仅文档提示限制,无内置限流或指数退避
- 无类型安全:纯 JS/Node 实现,缺少 TypeScript 类型校验
适合人群
- 需要快速集成 Notion 数据源的自动化脚本开发者
- 团队内部分享 Notion 工具链,需避免密钥泄露场景
- 熟悉 Notion API 原生语法、希望直接操作 JSON 的高级用户
常规风险
- 密钥管理:
~/.config/notion/api_key文件权限若配置不当可能导致密钥泄露 - API 版本漂移:默认使用
2025-09-03版本,Notion API 更新后可能产生兼容性问题 - 数据误操作:
create-page无预览确认机制,批量脚本需谨慎测试 - 依赖 Notion 集成权限:目标页面/数据库必须手动共享给集成,否则 API 调用返回 404 或 403