Spotify Web API 播放端点 - 播放曲目

Posted

技术标签:

【中文标题】Spotify Web API 播放端点 - 播放曲目【英文标题】:Spotify Web API play endpoint - play track 【发布时间】:2018-07-10 00:22:27 【问题描述】:

我正在尝试使用 Spotify Web API 在传递曲目 ID 时播放曲目。我在 Spotify 的 API 控制台 here 上使用 PUT https://api.spotify.com/v1/me/player/play 端点。当我使用PUT Body 中的示例数据并添加我的设备 ID 和 OAuth 令牌 abd 单击尝试按钮时,歌曲开始播放。当我将PUT Body 更改为:


  "context_uri": "spotify:track:4ByEFOBuLXpCqvO1kw8Wdm"

我得到错误:

HTTP/1.1 400 Bad Request
Content-Length: 99
Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE, PATCH
Access-Control-Max-Age: 604800
Access-Control-Allow-Credentials: true
Content-Encoding: gzip
Keep-Alive: timeout=600
Server: nginx
Connection: keep-alive
Cache-Control: private, max-age=0
Date: Wed, 31 Jan 2018 00:56:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Accept, Authorization, Origin, Content-Type, Retry-After
Content-Type: application/json; charset=utf-8


  "error" : 
    "status" : 400,
    "message" : "Non supported context uri"
  

关于它为什么不起作用的任何想法?

【问题讨论】:

【参考方案1】:

如果您查看 Spotify 的 API,track 不支持 context_uri

Optional. Spotify URI of the context to play.
Valid contexts are albums, artists & playlists.
Example: context_uri:"spotify:album:1Je1IMUlBXcx1Fz0WE7oPT"

https://developer.spotify.com/web-api/start-a-users-playback/

【讨论】:

好的,呵呵,谢谢!!我猜是什么让我失望的是,它说您可以发送 JSON 数组的可选 uris 似乎允许 spotify:track:...【参考方案2】:

如果你通过了:


  "uris": ["spotify:track:4ByEFOBuLXpCqvO1kw8Wdm"]

它会起作用的。您也可以,然后在uris 列表中传递多首歌曲。

【讨论】:

以上是关于Spotify Web API 播放端点 - 播放曲目的主要内容,如果未能解决你的问题,请参考以下文章

通过 Web API 在 Spotify 播放器上排队歌曲

Spotify web api 在获取播放列表请求时返回状态 500

Spotify Web Playback SDK - 播放完整歌曲

调用 Spotify API 开始播放时获取无效的上下文 uri

如何使用 Spotify Web API 获取当前播放/最近播放的歌曲

使用 spotify api 控制 spotify web player sdk 的播放状态