Miniflux 2 是一个轻量级的自托管 RSS 阅读器,提供了强大的 REST API 接口,让你能够以编程方式管理订阅、文章和用户数据。这个完整的 API 指南将帮助你快速上手,充分利用 Miniflux 的数据管理能力。🚀
🔑 API 认证与基础设置
在使用 Miniflux API 之前,你需要进行身份认证。支持两种方式:用户名密码认证和 API 密钥认证。
快速认证示例:
// 使用用户名密码认证
client := miniflux.NewClient("https://your-instance.com", "username", "password")
// 使用 API 密钥认证
client := miniflux.NewClient("https://your-instance.com", "your-api-key")
📋 核心 API 端点详解
用户管理 API
用户管理相关的 API 位于 internal/api/user.go,提供完整的用户生命周期管理:
GET /v1/me- 获取当前登录用户信息GET /v1/users- 获取所有用户列表POST /v1/users- 创建新用户PUT /v1/users/{id}- 更新用户信息DELETE /v1/users/{id}- 删除用户
分类管理 API
分类功能在 internal/api/category.go 中实现:
GET /v1/categories- 获取所有分类POST /v1/categories- 创建新分类PUT /v1/categories/{id}- 更新分类DELETE /v1/categories/{id}- 删除分类
订阅源管理 API
订阅源管理是 RSS 阅读器的核心功能,相关实现在 internal/api/feed.go:
GET /v1/feeds- 获取所有订阅源POST /v1/feeds- 添加新订阅源PUT /v1/feeds/{id}- 更新订阅源设置
文章管理 API
文章相关的 API 在 internal/api/entry.go 中定义:
GET /v1/entries- 获取文章列表PUT /v1/entries- 批量更新文章状态PUT /v1/entries/{id}/star- 标记/取消标记星标文章
⚙️ 实用参数与过滤技巧
文章过滤参数
Miniflux 提供了丰富的文章过滤选项,让你能够精确获取需要的数据:
status- 文章状态(未读、已读、星标)limit- 每页数量,默认 100 条offset- 分页偏移量order- 排序方式(id、status、published_at)direction- 排序方向(asc、desc)search- 全文搜索关键词
高级查询示例
// 获取未读文章
filter := &miniflux.Filter{
Status: "unread",
Limit: 50,
Order: "published_at",
Direction: "desc"
}
entries, err := client.Entries(filter)
🔄 数据导入导出操作
OPML 导出功能
备份你的订阅源到 OPML 文件:
opml, err := client.Export()
if err != nil {
log.Fatal(err)
}
err = os.WriteFile("my-feeds.opml", opml, 0644)
批量操作技巧
- 使用
MarkAllAsRead标记所有文章为已读 - 通过
UpdateEntries批量更新文章状态 - 利用
ToggleStarred快速切换星标状态
📊 集成与第三方服务
Miniflux 2 支持与多种第三方服务集成:
- Instapaper - 保存文章到稍后阅读
- Pocket - 收藏重要内容
- Wallabag - 自托管书签服务
- 即时通讯应用 - 推送通知到聊天应用
💡 最佳实践建议
- 使用 API 密钥:在生产环境中推荐使用 API 密钥而非用户名密码
- 合理设置超时:根据网络状况调整请求超时时间
- 错误处理:妥善处理 API 调用中的各种错误情况
- 数据备份:定期导出 OPML 文件作为备份
🎯 总结
Miniflux 2 的 API 设计简洁而强大,涵盖了 RSS 阅读器所需的所有功能。通过本文的指南,你应该能够轻松地开始使用 Miniflux API 来管理你的阅读数据。无论你是要构建自定义客户端,还是需要自动化管理订阅源,Miniflux 2 API 都能满足你的需求。✨
开始探索 Miniflux 2 API 的强大功能,让你的 RSS 阅读体验更加高效和个性化!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



