文章摘要 FakeGPT
加载中...|
博客音乐播放器接入了,但歌单是隐私的怎么办?
博客一直想加个背景音乐播放器,让访客进来不至于太安静。VitePress + Curve 主题自带音乐播放器组件,接入方式很简单:填一个网易云歌单 ID 就行。但真正跑起来,才发现坑全在后面。
播放器怎么配的
主题的音乐播放器基于 Meting API(一个免费的网易云/QQ 音乐接口),配置就几行:
js
music: {
enable: true,
url: "https://api.injahow.cn/meting/",
id: 381756640, // 网易云歌单 ID
server: "netease",
type: "playlist"
}构建部署完,点开播放器——"获取播放列表失败,请重试"。
排查过程
第一步:看网络请求
打开浏览器控制台 Network,发现请求 https://api.injahow.cn/meting/?type=playlist&id=381756640&server=netease 返回了错误信息:unknown playlist id(未知歌单 ID)。
第二步:换官方接口交叉验证
怀疑是第三方接口的问题,直接用网易云官方接口测试:
bash
curl "https://music.163.com/api/v6/playlist/detail?id=381756640" \
-H "Referer: https://music.163.com"返回:
json
{"code":401,"message":"该歌单已被创建者设置为隐私"}真相大白:不是接口挂了,是这个歌单被创建者设成了隐私。网易云对隐私歌单,任何接口都不返回歌曲数据。
第三步:验证接口本身没问题
随便拿一个公开歌单(比如网易云热歌榜 3778678)测试同一个接口:
bash
curl "https://api.injahow.cn/meting/?type=playlist&id=3778678&server=netease"正常返回歌曲列表 ✅。确认是歌单的问题,不是播放器的问题。
解决方案(二选一)
方案 A:换公开歌单(立即生效)
把 themeConfig.mjs 里的歌单 ID 换成公开歌单即可,比如热歌榜 3778678、飙升榜 3779629。改完重新构建部署,播放器立刻能响。
方案 B:把原歌单设为公开(保留自己的歌单)
如果你就是想用某个特定歌单:打开网易云 App/网页 → 进入那个歌单 → 右上角「···」→ 设为公开。设完等一两分钟,接口就能正常获取了。
踩坑总结
- "获取播放列表失败"九成是歌单隐私,不是接口坏了——先用官方 API 带
Referer测一下歌单状态 - 第三方免费接口(Meting)可能不稳定,属于"能用但别依赖",重要功能要有备选方案
- 歌单里如果有 VIP 歌曲,免费接口拿不到播放地址,可能出现"有列表但点播放没声音",选歌单时尽量挑免费曲目多的
现在播放器正常工作了,写代码的时候有 BGM 陪伴,舒服多了。
博客音乐播放器接入了,但歌单是隐私的怎么办?https://xkbk.cn/posts/blog-music-player-guide
评论 匿名评论 隐私政策