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

Posted

技术标签:

【中文标题】Spotify web api 在获取播放列表请求时返回状态 500【英文标题】:Spotify web api returns status 500 on get playlists request 【发布时间】:2015-08-19 14:13:57 【问题描述】:

我一直收到此回复

错误: 状态:500,消息:“服务器错误。”

当我尝试使用此端点为我的用户检索所有播放列表时

GET https://api.spotify.com/v1/users/user_id/播放列表

当我为我的 Spotify web api 应用程序开发管道时,我反复这样做作为一个测试用例。

有时当我从偏移量 0 开始时它会失败。有时它会在偏移量 0(以及偏移量 50、100、150 等)处成功,然后再失败。我有大约 900 个播放列表。

无论我一次获得 20 个播放列表还是最多 50 个,都会失败。

我在响应标头中没有发现任何异常情况。

这是 Spotify 端的错误吗?我假设由于我得到状态 500,这与达到某种请求速率限制或我的请求中的某些错误无关。

如果有人提供任何见解,我将不胜感激。

【问题讨论】:

【参考方案1】:

来自/v1/users/user_id/playlists/ 端点的状态码为 500 的响应可能由多种原因引起,但都不是您的应用程序的错。在某些情况下,用户的播放列表(或单个播放列表)会导致 Spotify 后端出现临时问题。如果播放列表的列表有很多修订,这种情况会更频繁地发生,例如用户拥有异常大量的播放列表,并且已经多次删除、添加和移动它们。我们正在努力解决这个问题,但同时我们要求您再试一次。

这与请求中发送的任何查询参数无关,它只是一个间歇性错误。

这是 Spotify 端的错误吗?我假设由于我得到状态 500,这与达到某种请求速率限制或我的请求中的某些错误无关。

如果请求受到速率限制,Spotify 的 Web API 会返回状态代码为 429 的响应。可以在User Guide 中找到从 Web API 返回的状态代码列表。

【讨论】:

感谢您的回复。此问题是否也会影响其他 Web api 端点? 由于它是间歇性的,我建议尽可能在几秒钟后重试。如果它仍然不起作用,我会简单地向用户显示一个错误。 好的,谢谢。没关系,但是无论我重试多少次,列表播放列表 API 几乎都不会与该用户一起使用。所以我想我的应用程序中没有这个功能。 :-( 也许我会尝试列出 limit=1 的播放列表,看看我是否可以找出导致问题的播放列表,然后跳过它。userid/playlists/playlistidtracks API 似乎更有效可靠。 哦,一点也不!谢谢。有什么方法可以私下这样做吗? 顺便说一下,我用limit=1尝试了几次,但在不同的地方都失败了。第一次在大约 150 之后失败。第二次在大约 650 之后。所以它似乎并没有始终如一地与同一个播放列表相关联。

以上是关于Spotify web api 在获取播放列表请求时返回状态 500的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 spotify web api 获取用户的播放列表列表?

(Spotify Web API)创建新播放列表 - POST 请求返回“错误 403(禁止)”

无法使用 kaaes Spotify web api 获取播放列表的曲目

如何使用客户端ID和密码访问spotify的web api?

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

如何从 Spotify Web API 获取播放列表的特定快照?