无法找到Plex Media Server API,咨询其在自研应用中的使用方案
使用Plex Media Server API获取媒体信息并调用
别担心,Plex其实有一套可以直接使用的API——虽然官方没有专门的面向开发者的正式文档,但这套API已经被社区广泛使用,完全能满足你获取媒体URL、ID等信息并在自研应用中调用的需求。下面是具体的步骤和要点:
第一步:获取你的Plex API Token(密钥)
这是调用所有API的核心凭证,有两种常见获取方式:
- 手动获取(适合快速测试):
打开Plex Web界面,登录后随便点击一个媒体项,打开浏览器的开发者工具(F12),切换到「网络」标签,找一个请求(比如library/items开头的),查看请求头里的X-Plex-Token字段,后面的字符串就是你的Token。 - 通过代码自动获取:
可以向Plex的登录接口发送请求,比如用curl:
返回的JSON里会包含curl -X POST "https://plex.tv/users/sign_in.json" \ -H "Content-Type: application/json" \ -d '{"user":{"login":"你的Plex账号","password":"你的密码"}}'authToken字段,就是你需要的Token。
第二步:调用API获取媒体信息
拿到Token后,就可以和你的Plex服务器通信了,所有请求都需要带上X-Plex-Token头或者在URL末尾拼接?X-Plex-Token=你的Token。下面是几个常用接口:
- 获取所有媒体库:
返回的XML(或指定curl -H "X-Plex-Token: YOUR_TOKEN" "http://你的Plex服务器IP:32400/library/sections"Accept: application/json获取JSON)里会包含每个库的ID、名称等信息,比如电影库、剧集库的key字段就是库ID。 - 获取某个库下的所有媒体:
把上面的库ID替换到下面的请求中:
每个媒体项会包含curl -H "X-Plex-Token: YOUR_TOKEN" "http://你的Plex服务器IP:32400/library/sections/库ID/all"ratingKey(媒体唯一ID)、title、thumb(封面URL)等信息。 - 获取单个媒体的详情和播放URL:
用媒体的ratingKey请求:
返回结果里的curl -H "X-Plex-Token: YOUR_TOKEN" "http://你的Plex服务器IP:32400/library/items/媒体ID"Media->Part->key字段就是该媒体的播放路径,拼接上服务器地址和Token就能得到完整播放URL:http://你的Plex服务器IP:32400/播放路径?X-Plex-Token=YOUR_TOKEN
第三步:在自研应用中调用
你可以在应用里通过HTTP请求库(比如Python的requests、JavaScript的fetch)来发送这些请求,解析返回的JSON/XML数据,提取需要的媒体ID、URL等信息,之后就可以在应用里直接调用播放URL,或者基于这些信息做更多功能开发。
注意事项
- 这套API属于Plex的「非正式公开API」,虽然稳定但不排除未来有变更的可能,建议多关注社区的更新;
- 如果要做远程访问,需要确保Plex服务器开启了远程访问,并且使用正确的公网地址或Plex的中转地址;
- 请遵守Plex的服务条款,不要用API来分发盗版内容或做违规操作。
内容的提问来源于stack exchange,提问作者Hassan Albaruki
相关产品推荐
相关产品推荐

