用途
spotify-player 技能用于通过 Spotify Web API 控制 Spotify 播放并管理音乐库。它适合需要以命令行或脚本方式操作 Spotify 的场景,例如播放/暂停/跳过音乐、获取当前播放曲目信息、搜索歌曲、专辑、艺术家、管理播放列表、控制音量、获取最近播放记录等。
主要能力
该技能覆盖以下 Spotify Web API 操作:
- 当前播放:获取当前曲目、最近播放、用户设备列表。
- 播放控制:播放、暂停、下一首、上一首、跳转到指定位置(毫秒)、设置音量(0-100)、切换随机播放、设置循环模式(off、context、track)。
- 搜索:搜索曲目、艺术家、专辑。
- 信息查询:获取曲目、艺术家、专辑详情,获取艺术家的专辑列表。
- 播放队列:获取队列、添加曲目到队列。
- 用户播放列表:获取用户播放列表、获取播放列表曲目、获取播放列表详情、创建播放列表、添加曲目到播放列表。
- 用户资料:获取当前用户资料、获取用户收藏的曲目、专辑、艺术家。
技能还提供了辅助函数示例,如获取访问令牌、搜索并播放第一首结果、获取当前播放信息。
使用方式
使用前需满足以下前提:在 https://developer.spotify.com/dashboard 创建应用,获取 Client ID 和 Client Secret,在应用设置中设置重定向 URI,并获取访问令牌。
设置环境变量: export SPOTIFY_CLIENT_ID="your_client_id" export SPOTIFY_CLIENT_SECRET="your_client_secret"
获取访问令牌(有效期 1 小时):
TOKEN=$(curl -s -X POST "https://accounts.spotify.com/api/token"
-H "Content-Type: application/x-www-form-urlencoded"
-d "grant_type=client_credentials&client_id=$SPOTIFY_CLIENT_ID&client_secret=$SPOTIFY_CLIENT_SECRET"
| jq -r '.access_token')
或者使用用户认证以获得完整访问权限(需要用户登录,设置更复杂)。
命令示例以 curl 为主,涵盖当前播放、播放控制、搜索、信息查询、播放队列、用户播放列表和用户资料等操作。部分操作需要用户令牌,部分需要设备 ID。
适用场景
适合需要通过脚本或命令行自动化控制 Spotify 播放和音乐库管理的场景,例如批量搜索曲目、管理播放列表、获取播放状态等。
限制
- 客户端凭证流程不包含用户专属功能,仅能进行搜索和获取曲目信息等操作。
- 用户授权流程可获得完整控制权限,但配置更复杂。
- API 速率限制:用户端点每分钟 180 次请求。
- 播放控制需要设备 ID。
- 许多端点需要用户认证,而非仅应用认证。
- 不适用于需要实时播放同步、设备选择(基础 API 限制)或歌词显示(API 不支持)的场景。
- 具体收费、价格、平台等信息暂未提供。