Spotify web api 不适用于 ios 设备
Posted
技术标签:
【中文标题】Spotify web api 不适用于 ios 设备【英文标题】:Spotify web api doesn't work with ios devices 【发布时间】:2020-01-21 07:06:03 【问题描述】:我正在使用 Spotify 和 Deezer api 构建一个网络应用程序,我可以在其中收听和控制(下一首、上一首、暂停、播放)音乐。 一切都在 android 设备或桌面上运行良好,但不适用于 ios 设备(chrome / safari)。我可以从另一个 spotify 设备控制音乐:例如,如果我在计算机上打开了 Spotify 应用程序,我可以从 iphone 启动和切换曲目,但音乐永远不会来自它。
我所做的很简单,在获得令牌后,我会检查用户的所有连接设备,以及是否存在活动的移动设备。 但是 iphone 设备永远无法识别,我放了一个日志,如果我尝试只从 iphone 播放,我可以看到没有设备。 之后,我只是播放歌曲:
public playAlbum(track: Track, position?: number)
const token = window.localStorage.getItem('wmg-as-token');
const body =
'uris': [track.uri],
'offset':
'position': 0
,
'position_ms': position ? position : 0
;
return this.http.put(`$this.uri/me/player/play`, body, headers: 'Authorization': 'Bearer ' + token);
我没有使用 Web Playback SDK,我使用的是 api 端点:https://developer.spotify.com/documentation/web-api/reference/player/
我有很多可以发布的代码(例如传输设备),但我不想把太多代码放在不害怕的读者身上。也许我只是错过了有关 ios 的信息。
如果有人有想法,我在这里..
编辑:
我尝试从 IOS Simulator 启动网站,发现有一些这样的错误日志:
【问题讨论】:
【参考方案1】:看起来 Spotify 有两个 API: 网络版:https://developer.spotify.com/documentation/web-api/ iOS 版:https://developer.spotify.com/documentation/ios/
它们可能略有不同,请检查您使用的是哪一个。 (这本来是一条评论,但我
【讨论】:
我用的是web api,另一个是原生ios应用。【参考方案2】:Web Playback SDK 不支持 iOS 浏览器:
https://developer.spotify.com/documentation/web-playback-sdk/#supported-browsers
【讨论】:
忽略我之前(已删除)的评论,我没有看到您谈论 Web Playback SDK。我没有使用它,我正在使用 /play、/pause... 端点从 spotify 应用程序开始播放音乐。以上是关于Spotify web api 不适用于 ios 设备的主要内容,如果未能解决你的问题,请参考以下文章
启用 CORS 不适用于 Spotify Web API [重复]
如何使用其 Web-API 让 IOS 应用播放 Spotify 播放列表?
.click()/.trigger('click') 不适用于 Spotify 中的 Tampermonkey