Spotify元数据API搜索。页面参数的奇怪响应大于1001

时间:2014-04-19 14:38:31

标签: xml api metadata spotify

我试图通过利用此端点的艺术家标准来使用spotify搜索API:

http://ws.spotify.com/search/1/artist

为了找到名字中包含给定字符的每位艺术家,我构建了如下内容:

http://ws.spotify.com/search/1/artist?q=*a*

(这意味着找到所有艺术家的名字都是'' char。)

成功发送此URL会产生xml。此xml包含 totalResults 节点,该节点显示您要查找的实际艺术家数量。例如,上面提到的URL在撰写此问题时给了我许多425076位艺术家。 xml响应最多包含100位艺术家。因此,为了获得完整列表,您需要向URL添加页面参数并发送一些页面请求( number = totalResults / artistsPerPage )。

网址

http://ws.spotify.com/search/1/artist?q=*a*&page=2

结果

<artists xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.spotify.com/ns/music/1">
  <opensearch:Query role="request" startPage="2" searchTerms="*a*"/>
  <opensearch:totalResults>425076</opensearch:totalResults>
  <opensearch:startIndex>100</opensearch:startIndex>
  <opensearch:itemsPerPage>100</opensearch:itemsPerPage>
  <artist href="spotify:artist:4M5nCE77Qaxayuhp3fVn4V">
    <name>Iron & Wine</name>
    <popularity>0.62</popularity>
  </artist>
  <artist> ...
</artists>

但是,当我尝试获取大于1001的页面时,我收到一个没有艺术家的奇怪的xml,如下所示:

网址

http://ws.spotify.com/search/1/artist?q=*a*&page=1002

结果

<artists xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.spotify.com/ns/music/1">
  <opensearch:Query role="request" startPage="1002" searchTerms="*a*"/>
  <opensearch:totalResults>0</opensearch:totalResults>
  <opensearch:startIndex>100100</opensearch:startIndex>
  <opensearch:itemsPerPage>100</opensearch:itemsPerPage>
</artists>

是否有一些我不知道的限制,或者它是一个错误还是其他什么? 我阅读了文档,但没有发现任何相关内容。

0 个答案:

没有答案