我正在尝试使用 Spotify Web API 在一个响应中返回多个特定结果。
例如,也许我想要 Spotify 的关于迈克尔杰克逊的“Thriller”和 Deep Purple 的“Highway Star”的详细信息。
由于我还没有 Spotify uris,我需要使用 Search 方法。这里有一个描述 Spotify 的高级搜索语法的页面。它们支持针对特定字段进行搜索,例如曲目、艺术家和专辑。它们还支持基本的布尔运算符。
但是该页面(或互联网上的其他任何地方,据我所知)没有任何内容描述布尔运算符优先级的工作原理,或者您如何对搜索条件进行分组。
我需要与(曲目:Thriller AND 艺术家:“Michael Jackson”)或(曲目:“highway star” AND 艺术家:“Deep Purple”)有效相同的东西。
使用类似的标准一次只提取一首曲目是可行的:
http://ws.spotify.com/search/1/track?q=track:"thriller"+AND+artist:"michael+jackson"
我试图直接使用括号,即使文档中没有提到它们。没运气:
ws.spotify.com/search/1/track?q=(track:"thriller"+AND+artist:"michael+jackson")+OR+(track:"highway+star"+AND+artist:"deep+purple ")
然后我想我会尝试优先播放。也许他们不只是从左到右处理 - 也许 OR 都已解决,然后是 AND:
ws.spotify.com/search/1/track?q=track:"thriller"+OR+track:"highway+star"+AND+artist:"michael+jackson"+OR+artist:"deep+purple"
这看起来很有希望,并返回了 185 个结果,但这并不完全正确。我从其他乐队看到了名为“Highway Star”的曲目。这似乎排除了“从左到右”、“OR-before-AND”和“AND-before-OR”。这没有任何意义——还剩下什么?
任何有更多 Spotify 经验的人都可以了解这样的查询应该如何工作吗?