Audiobookshelf API 接口详解与使用指南
2025-07-06 07:35:59作者:范垣楠Rhoda
概述
Audiobookshelf 是一个开源的音频书籍管理平台,提供了完善的 API 接口供开发者进行二次开发和集成。本文将详细介绍 Audiobookshelf 的 API 接口设计和使用方法,帮助开发者快速上手。
API 基础信息
Audiobookshelf API 采用 OpenAPI 3.0 规范设计,当前版本为 0.1.0。默认开发服务器地址为 http://localhost:3000
,采用 Bearer Token 认证方式。
主要功能模块
1. 作者管理接口
作者管理接口提供了对音频书籍作者的增删改查功能:
- 获取作者信息:通过作者 ID 获取详细信息,可选包含该作者的作品和系列信息
- 更新作者信息:支持修改作者名称、描述、图片路径和 ASIN 编号
- 删除作者:从系统中移除作者,同时会从所有关联书籍中删除该作者信息
- 作者图片管理:上传、获取、更新和删除作者图片
- 作者匹配:通过 ASIN 或搜索词将作者与 Audible 数据库匹配,自动补充描述和图片
2. 图书馆管理接口
图书馆是 Audiobookshelf 中的核心概念,用于组织和管理音频书籍:
- 获取所有图书馆:列出服务器上的所有图书馆
- 创建新图书馆:需要提供名称和文件夹路径等基本信息
- 图书馆设置:可配置显示顺序、图标、媒体类型等属性
3. 电子邮件功能接口
Audiobookshelf 提供了将电子书发送到电子阅读器的功能:
- 获取/更新邮件设置:配置 SMTP 服务器等发送参数
- 测试邮件发送:验证邮件配置是否正确
- 管理电子阅读器设备:维护可接收电子书的设备列表
- 发送电子书到设备:将指定图书馆项目发送到已配置的设备
4. 系列管理接口
系列管理接口允许对音频书籍系列进行操作:
- 获取系列信息
- 更新系列元数据
- 管理系列封面图片
5. 播客管理接口
播客相关功能包括:
- 播客订阅管理
- 单集下载控制
- 播放进度同步
接口使用示例
获取作者信息
GET /api/authors/{id}?include=items,series
Authorization: Bearer {token}
响应示例:
{
"id": "auth_123",
"name": "J.K. Rowling",
"description": "British author best known for the Harry Potter series...",
"imagePath": "/author_images/auth_123.jpg",
"items": [
{
"id": "lib_456",
"title": "Harry Potter and the Philosopher's Stone"
}
],
"series": [
{
"id": "ser_789",
"name": "Harry Potter"
}
]
}
创建新图书馆
POST /api/libraries
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "Fantasy Books",
"folders": ["/mnt/audiobooks/fantasy"],
"mediaType": "book",
"icon": "fantasy"
}
最佳实践
-
错误处理:所有接口都遵循标准 HTTP 状态码,404 表示资源不存在,403 表示权限不足等
-
批量操作:部分接口支持批量操作,如同时更新多个电子阅读器设备
-
图片处理:作者和系列图片接口支持动态调整大小和格式转换
-
数据匹配:利用 Audible 匹配功能可以自动补充元数据,减少手动输入
-
安全考虑:所有敏感操作都需要 Bearer Token 认证
总结
Audiobookshelf 提供了完善的 API 接口,覆盖了音频书籍管理的各个方面。通过合理使用这些接口,开发者可以构建自己的客户端应用,或者将 Audiobookshelf 集成到现有系统中。本文介绍了主要接口的功能和使用方法,更多细节可以参考完整的 OpenAPI 规范文档。