如何使用Spotify Web API搜索具有通用标题的相册?

时间:2013-03-15 16:45:12

标签: api search spotify

可以使用Spotify Web API在Spotify目录中按名称搜索相册。

但是,如果相册名称是常用字词或短语,则搜索响应可能包含数千个结果。我看不到用艺术家名称缩小搜索范围的方法。

以下是一个示例:按艺术家 Giant Panda Guerilla Dub Squad 搜索专辑Country

API请求是:

http://ws.spotify.com/search/1/album?q=country

回复是:

<?xml version="1.0" encoding="UTF-8"?>
<albums xmlns="http://www.spotify.com/ns/music/1" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
  <opensearch:Query role="request" startPage="1" searchTerms="country" />
  <opensearch:totalResults>11861</opensearch:totalResults>
  <opensearch:startIndex>0</opensearch:startIndex>
  <opensearch:itemsPerPage>100</opensearch:itemsPerPage>
  <album href="spotify:album:1Wcnyz2zYWLIPZ1K63RXdW">
    <name>How Country Feels</name>
    <artist href="spotify:artist:56x8mYvS3cyDGAi8N2FxbB">
      <name>Randy Houser</name>
    </artist>
    <id type="upc">886443789852</id>
    <popularity>0.73964</popularity>
    <availability>
      <territories>CA US</territories>
    </availability>
  </album>
  ...more albums...
</albums>

共有11861条结果,结果被分页,每页有100张专辑。可以请求获取下一页,但如果我要查找的专辑位于最后一页,我将不得不在找到它之前向API发出118个单独的请求。

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用高级搜索查询语言来提供帮助,尤其是如果您事先了解艺术家的话。例如:

http://ws.spotify.com/search/1/album?q=artist:Giant Panda Guerilla Dub Squad

...会将搜索限制为该艺术家的专辑。

http://ws.spotify.com/search/1/album?q=artist:Giant Panda Guerilla Dub Squad Country

...只会返回您想要的相册。

完整的高级搜索引用目前在新Spotify重新设计的混乱中无法使用,但您可以在Wayback计算机here中找到它。