noteTb
1 row where folder_id = 41
This data as json, CSV (advanced)
Suggested facets: created_at (date), updated_at (date)
| id ▼ | user_id | content | tags | created_at | updated_at | enable | pinned | folder_id | comment | position | visibility |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 341 | 1 1 | # 笔记搬家 TOP10 分析 - 日期:2026-05-18 - 目标:梳理主流笔记软件/网站的 API、导出方式,以及 keng 后续如何把对方笔记搬进来 --- ## 结论 现在 keng 只实现了 Simplenote 搬家,下一步最值得做的是: 1. **Obsidian / Logseq / Joplin**:本地 Markdown 或开放导出,成本最低,成功率最高。 2. **Notion / OneNote**:有官方 API,适合做 OAuth 连接后自动同步/导入。 3. **Evernote / Standard Notes / Google Keep / Apple Notes / Bear**:更适合先支持“用户导出文件上传”,再考虑半自动或平台脚本。 统一策略:keng 不要为每个平台单独写一堆散逻辑,而是做 `NoteSourceAdapter`:每个来源只负责列笔记、取正文、取附件/标签、返回标准结构,最终都走现有 `/api/other-notes/{source}/import`。 --- ## TOP10 平台与搬家方式 | 排名 | 平台 | 官方 API | 推荐搬家方式 | 难度 | 备注 | |------|------|----------|--------------|------|------| | 1 | Notion | 有,Notion API | OAuth 后读取 page/block/database,转 Markdown | 中 | API 稳定,但 block 转 Markdown 要做映射 | | 2 | Microsoft OneNote | 有,Microsoft Graph | OAuth 后读取 notebooks/sections/pages,正文 HTML 转 Markdown | 中 | Graph 权限配置较复杂 | | 3 | Evernote | 有历史 API,但现代接入受限 | 优先支持 ENEX 导入 | 中 | 用户从客户端导出 `.enex` 最稳 | | 4 | Google Keep | 无正式公开 API | Google Takeout 导出 JSON/HTML 后导入 | 中 | 不建议依赖非官方接口 | | 5 | Apple Notes | 无公开 Web API | macOS 导出/AppleScript/第三方导出 Markdown 后上传 | 高 | iCloud 网页不适合作为稳定 API | | 6 | Obsidian | 本地 Markdown 文件夹 | 直接上传 vault zip 或选目录导入 `.md` | 低 | 最适合先做,几乎无需平台账号 | | 7 | Joplin | 有本地 Web Clipper API | JEX/Markdown 导出,或本地 token 调 Joplin API | 低 | 开源,字段和附件好处理 | | 8 | Bear | 有 x-callback-url/导出 | Markdown/TextBundle 导出后上传 | 中 | macOS/iOS 生态,自动化需本机配合 | | 9 | Simplenote | 有 API | 已实现 | 低 | 当前 keng 已接入 | | 10 | Standard Notes | 无稳定公开导入 API | App 内导出 decrypted backup JSON 后导入 | 中 | 加密产品,必须让用户本地导出明文备份 | --- ## 各平台实现要点 ### 1. Notion - 获取 API:到 Notion Developers 创建 integration,或做 OAuth public integration。 - 数据读取:`/v1/search` 找页面和数据库,`/v1/blocks/{block_id}/children` 递归读取 block。 - 搬出方式:把 heading、paragraph、bulleted_list_item、numbered_list_item、to_do、code、quote、table 等 block 转 Markdown。 - keng 映射:页面标题 → `title`,正文 Markdown → `content`,database/page 标签属性 → `tags`。 - 风险:Notion block 类型多,初版只支持常用块,复杂嵌入先转成链接占位。 ### 2. Microsoft OneNote - 获取 API:Azure Portal 注册应用,开启 Microsoft Graph 权限,如 `Notes.Read`。 - 数据读取:Graph `/me/onenote/notebooks`、`… | [] | 2026-05-18 23:53:00 | 2026-05-18 23:53:48 | T | F | 41 41 | 0 | friends |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE "noteTb" (
id INTEGER PRIMARY KEY,
user_id INTEGER DEFAULT NULL REFERENCES userTb(id),
content TEXT NOT NULL DEFAULT '',
tags TEXT DEFAULT '[]',
created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')),
updated_at TEXT NOT NULL DEFAULT (datetime('now','localtime')),
enable TEXT DEFAULT 'T',
pinned TEXT DEFAULT 'F',
folder_id INTEGER DEFAULT NULL REFERENCES folderTb(id),
comment TEXT DEFAULT '', position INTEGER DEFAULT 0, visibility TEXT NOT NULL DEFAULT 'private');
CREATE INDEX idx_note_visibility ON noteTb(user_id, visibility, enable);