恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Jellyfin API 实战指南:十分钟打通第一个请求,外加四个必踩的坑

  • 首页
  • 资讯中心
  • /
  • Jellyfin API 实战指南:十分钟打通第一个请求,外加四个必踩的坑

相关资讯

GPT-SoVITS 常见问题速查手册:从环境到推理一次排清 2026/8/30 10:16:26
批量设备为何首选CAN总线?从物理层到硬件设计的工程指南 2026/8/30 10:11:25
一行命令把网站打包成桌面应用:Pake 快速上手指南 2026/8/30 10:11:25

最新资讯

宇树四足与人形机器人二次开发指南:从运动控制到行业落地
2018年GitHub最流行50大Python开源项目
Ewwii:一个可扩展的Linux桌面Widget系统实战指南
网易游戏运营管理实习面经:笔试、业务面与终面全流程复盘
2026年下半年黑龙江省应急管理厅事业单位公开招聘工作人员4人公告
基于XGBoost的智能流量分析系统:从原理到工程实践

今日推荐

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Jellyfin API 实战指南:十分钟打通第一个请求,外加四个必踩的坑

发布时间:2026/8/30 10:16:26
Jellyfin API 实战指南:十分钟打通第一个请求,外加四个必踩的坑 Jellyfin API 实战指南十分钟打通第一个请求外加四个必踩的坑【免费下载链接】jellyfinThe Free Software Media System - Server Backend API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfinJellyfin 服务端的 API 以 RESTful 风格资源映射到 URL、用 GET/POST 等方法操作暴露任何业务请求都要先过一道认证关。这篇不铺概念直接走通闭环拿令牌、查片库、报播放、兜错误每一步标出最容易卡住的地方。1️⃣ 坑一认证头少了前缀请求永远是 401第一步永远是拿用户名密码换 AccessToken一串凭证字符串证明已登录之后每次请求都要带上它。POST /Users/AuthenticateByName Content-Type: application/json { Username: YOUR_USERNAME, Pw: YOUR_PASSWORD }成功后返回令牌和用户信息{ AccessToken: YOUR_TOKEN_HERE, User: { Id: user-id, Name: YOUR_USERNAME } // …省略 }第二步才是多数人翻车的点带令牌不能写裸的Authorization: Bearer ...。Jellyfin 沿用的是 MediaBrowser Token 前缀一套自定义认证方案的写法令牌值外面的引号也不能省Authorization: MediaBrowser TokenYOUR_TOKEN_HERE这个头部由专门的认证处理器解析见 CustomAuthenticationHandler 源码。前缀拼错、引号漏掉令牌都等于没带直接 401。另外注意登录参数是Pw不是Password端点定义在 UserController。2️⃣ 坑二查 /Items 忘带 userId或 limit 拍脑袋拿到令牌后先取媒体列表。userId是查询的必备参数不用 API key 时服务端得知道替谁查GET /Items?userIduser-idincludeItemTypesMoviesortBySortNamestartIndex0limit25 Authorization: MediaBrowser TokenYOUR_TOKEN_HEREincludeItemTypes类型过滤多值用逗号分隔如Movie,SeriesstartIndex/limit分页从下标 0 开始limit建议控制在 25~100fields只取你要的字段压小响应体积持有 API key 的场景下userId可以不传令牌本身就代表身份。响应是带分页外壳的结构{ Items: [ { Id: item-id, Name: Sample Movie, Type: Movie, RunTimeTicks: 72000000000 // …省略 } ], TotalRecordCount: 42, StartIndex: 0, Limit: 25 }limit别贪大一次性拉几万部片是超时的高发场景遍历全库就用startIndex翻页。filters、mediaTypes等完整参数在 ItemsController 里都有注释不确定就先少传。3️⃣ 坑三把报进度和标看过当成同一个接口播放状态Playstate泛指正在播什么、播到哪的接口族其实分两路回写播放会话状态开始、进度、停止三件事现行入口是POST /Sessions/Playing/Progress观看状态POST /UserPlayedItems/{itemId}标记已看完对同一路径DELETE再标记回未看。POST /Sessions/Playing/Progress Authorization: MediaBrowser TokenYOUR_TOKEN_HERE Content-Type: application/json { ItemId: item-id, PlaySessionId: play-session-id, PlayMethod: Transcode, PositionTicks: 36000000000, IsPaused: false // …省略 }成功返回 204 No Content没有响应体。两个易错点PositionTicks用的是 .NET 时间单位1 秒 10,000,000 ticks上面的值表示播到 1 小时PlaySessionId要在播放开始时生成先报POST /Sessions/Playing。服务端找不到对应的转码任务时你报的Transcode会被自动纠正成DirectPlay。相关端点集中在 PlaystateController。旧路由POST /PlayingItems/{itemId}/Progress已标注 Obsolete新代码别用它。4️⃣ 坑四状态码只会看 401漏掉两个细节状态码典型成因401令牌没带、或头部格式写错403资源没权限如非管理员调管理端点404item id 不存在或该用户看不到这件204报进度这类写操作成功无响应体两个隐藏细节404 不一定是 id 敲错。同一件媒体对部分用户可能不可见媒体库按用户隔离可见性先换该用户视角确认再怀疑 id用户修改密码后服务端会吊销其名下全部旧令牌仅保留改密时正在使用的那个。长驻任务若拿着旧令牌会突然从 200 变 401登录失败后要有重取令牌的兜底逻辑。一次请求的完整走位把四步串起来就是接入的最小闭环卡住时按顺序排查头部前缀和引号 → 请求里的userId→ 令牌是否因改密被吊销。走完这条链路Jellyfin 的服务端接入就算打通了。【免费下载链接】jellyfinThe Free Software Media System - Server Backend API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号