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 播放列表?

在 Spotify API 中忘记与跟踪播放计数

.click()/.trigger('click') 不适用于 Spotify 中的 Tampermonkey

我可以使用 Spotify Web API 来创建 Android/iOS Web 应用程序吗?

我可以在 Xcode 中使用 Spotify Web API 来开发原生 iOS 应用程序吗?