QQ 音乐 API 文档和测试仓库。
docs/apis/*.md: 每个 API 一份 Markdown 文档tests/qqmusic_api_test.py: Python 测试客户端.github/workflows/check.yml: 基础语法校验
- search-songs 搜索歌曲
- search-singers 搜索歌手
- singer-info 获取歌手信息
- singer-songs 获取歌手歌曲列表
- song-url 获取歌曲播放链接
- song-detail 获取歌曲详情
- lyric 获取歌词
- recommend-playlists 获取推荐歌单
- playlist-detail 获取歌单详情
- rank-lists 获取排行榜列表
- rank-detail 获取排行榜详情
- wx-login 微信扫码登录并返回 musicid/musickey
- qq-login-qr 获取 QQ 扫码登录二维码
- wx-login-qr 获取微信扫码登录二维码
- check-login 轮询扫码登录状态
- euin 获取加密 uin
- user-info 获取当前登录用户信息
- my-favorite 获取“我喜欢”的歌曲
- my-playlists 获取我的歌单列表
- add-songs 添加歌曲到歌单
- remove-songs 从歌单删除歌曲
- radar-recommend 获取雷达推荐
- guess-recommend 获取猜你喜欢
公开读接口不需要凭据。用户相关、VIP 播放链接、我的歌单等接口需要:
$env:QQMUSIC_MUSICID="你的 musicid"
$env:QQMUSIC_MUSICKEY="你的 musickey"脚本不会把凭据写入文件。
支持微信扫码登录。脚本会保存并打开二维码图片,扫码确认后自动轮询并输出 userInfo.musicid 和 userInfo.musickey,之后可以把它们设置为环境变量调用用户相关接口。
python tests/qqmusic_api_test.py wx-login只获取二维码,不自动轮询:
python tests/qqmusic_api_test.py wx-login-qr
python tests/qqmusic_api_test.py qq-login-qr拿到凭据后:
$env:QQMUSIC_MUSICID="扫码返回的 musicid"
$env:QQMUSIC_MUSICKEY="扫码返回的 musickey"
python tests/qqmusic_api_test.py user-infocd APIS/qqmusicapi
python tests/qqmusic_api_test.py all单独测试:
python tests/qqmusic_api_test.py search-songs --keyword "周杰伦"
python tests/qqmusic_api_test.py song-detail --mid 0039MnYb0qxYhV
python tests/qqmusic_api_test.py lyric --mid 0039MnYb0qxYhV
python tests/qqmusic_api_test.py rank-lists写入类接口默认 dry-run,必须显式加 --execute 才会真实调用:
python tests/qqmusic_api_test.py add-songs --dirid 201 --song-id 123 --execute