服务器 API¶
服务器的 HTTP API 用 OpenAPI(Swagger 2.0)文件来描述,每个服务一个文件。 本页告诉您哪个文件夹里有什么,以及调用是怎样验证身份的;真正的参考是这些文件本身。
| 部分 | 内容 |
|---|---|
| 公开 API | 已登录用户能做的事:浏览、播放、收藏、提交请求。 |
| 管理 API | 服务器管理:配置、转码、备份、元数据、用户。 |
| 插件 API | 插件管理、Webhook,以及插件界面为每个用户保存的偏好。 |
每个 .swagger.json 文件都可以导入任何 OpenAPI 工具(Swagger UI、Postman、Insomnia)。
HTTP 路由是根据 proto/evey/v1/ 里的 gRPC 定义生成的,所以文件里的方法名就是它背后的 gRPC 方法。
身份验证¶
可用于访问 API 的凭据有三种,都放在 Authorization 请求头里:
| 凭据 | 谁使用 | 怎样使用 |
|---|---|---|
| 会话令牌 | 通过应用登录的人 | Bearer <token>,登录时获得,由应用负责续期。 |
| API 密钥 | 脚本,代表创建它的管理员 | Bearer evey_...(Bearer 前缀可以省略)。有权限范围,可以撤销:Webhook 与 API 密钥。 |
| 插件令牌 | 插件的界面,经由宿主页面 | 为一个插件和一个用户签发,有效期五分钟,只带有该插件获准的 public 和 prefs 权限范围;其他所有方法都会拒绝它。插件的框架页面从不持有这个令牌:调用由宿主页面代为转发。 |
无论带有什么权限范围,插件令牌都无法调用任何管理方法 (ADR-0003, ADR-0012)。
重新生成¶
写给贡献者:这些文件是根据 protobuf 定义重新生成的。