调用Spotify获取用户可用设备API返回设备数少于手机端如何解决
问题解答
你使用的GET /me/player/devices接口的默认返回规则为仅返回当前处于活跃状态,或近30分钟内有过Spotify播放行为的设备,闲置未触发播放的设备不会被纳入返回列表,这是官方公共API的预设设计,并非接口异常。
Spotify官方客户端内置了未对外公开的本地网络扫描能力,会主动探测同一局域网下所有支持Spotify Connect协议的设备,无论设备是否处于活跃状态,因此可以显示全部8台可用设备。目前Spotify没有公开可直接获取全量闲置设备的公共API。
你观察到的“闲置设备只要开始播放就会出现在接口返回列表中”的现象属于正常逻辑:播放操作会将该设备的活跃状态上报至Spotify服务器,符合公共接口的返回规则。
可行解决方法
- 可以在你的控制器中集成本地SSDP扫描逻辑,主动扫描同一局域网下服务类型为
urn:schemas-upnp-org:device:MediaRenderer:1且携带Spotify Connect标识的设备,即可获取全量局域网可用设备,该逻辑与官方客户端的设备扫描逻辑一致。 - 若你的使用场景仅需要控制已绑定同一账号的设备,可以提前在所有设备上开启同账号唤醒权限,主动触发一次闲置设备的播放将其唤醒,后续即可通过公共接口正常获取设备信息并发起控制操作。
内容的提问来源于stack exchange,提问作者MaxK123
相关产品推荐
相关产品推荐

