查询Spotify API的结果与Web客户端中的相同查询不同

我一直在使用Spotify API来查询给定艺术家的确切音轨,发出GET请求,如下所示:

https://api.spotify.com/v1/search?q=track:"track+title"+artist:"artist+name"&type=track

(使用授权标头承载[access_token])

这在大多数情况下都能像预期的那样工作,但对于一首曲目我遇到了一个问题:我试图找到跟Shannon Lyon一样的可能只待在家里的曲目。

有了我之前成功的GET请求调整到此曲目标题和艺术家,这应该是这样的:

https://api.spotify.com/v1/search?q=track:"I+Might+Just+Stay+Home"+artist:"Shannon+Lyon"&type=track

但是,这会产生零结果。 真是奇怪:如果我将完全相同的搜索查询(轨道:“I + Might + Just + Stay + Home”+艺术家:“Shannon + Lyon”)复制到Spotify Web播放器中,我会得到一个搜索结果我期待着。 我还可以在Spotify桌面播放器中使用相同的查询,给我一个结果。

所以,问题是:为什么我不能从API获得结果,而我使用完全相同的查询在Web和桌面客户端都得到结果的原因是什么?


Potray已经给出了一个可能的原因。 您在客户端看到的东西来自内部API。 它们与公共Web API略有不同。

另一个更可能的原因是不同国家的可用性不同,而您的两个查询针对不同的国家/地区,但您可能没有意识到。

当您在客户端进行搜索时,它始终是一个搜索用户。 用户连接到一个国家。 您只能播放您所在国家/地区的内容,因此在客户端进行搜索只会返回您可以播放的内容。

当您使用Web API进行搜索时,您无需指定Spotify用户正在搜索哪个。 您也无需指定您希望搜索结果的国家/地区。

从一开始,没有指定一个国家,搜索结果会列出至少一个国家可用的曲目。 自去年以来,由于一个bug,它默认为美国。 您可以更改国家/地区,但无法在所有国家/地区进行搜索。

https://github.com/spotify/web-api/issues/194

链接地址: http://www.djcxy.com/p/55603.html

上一篇: Result from querying Spotify API differs from identical query in web client

下一篇: Spotipy: How do I search by both artist and song