Spotify API中返回的结果数量因偏移量和限制的不同值而异。例如:
https://api.spotify.com/v1/search?query=madonna&offset=0&limit=50&type=playlist
playlists.total = 164
https://api.spotify.com/v1/search?query=madonna&offset=0&limit=20&type=playlist
playlists.total = 177
https://api.spotify.com/v1/search?query=madonna&offset=10&limit=50&type=playlist
playlists.total = 156
https://api.spotify.com/v1/search query=madonna&offset=100&limit=50&type=playlist
playlists.total = 163
真正的问题是,在迭代结果时会丢失一些项目。这可以很容易地再现如下:
提出以下请求:
https://api.spotify.com/v1/search?query=redhouse&offset=0&limit=20&type=album
响应返回albums.total = 27和20个项目。
提出另一个请求以获取下一页:
https://api.spotify.com/v1/search?query=redhouse&offset=20&limit=20&type=album
响应返回albums.total = 21和1项。 (6个缺少项目!)
使用offset = 0和limit = 30
进行相同的请求 https://api.spotify.com/v1/search?query=redhouse&offset=0&limit=30&type=album
响应返回albums.total = 27和27项,这是正确的。
所有搜索相册,艺术家,曲目和播放列表都会发生这种情况。一些人(包括我自己)将其报告为Spotify issue tracking system中的(关键)错误。
我只是想知道是否有任何可靠的方法来迭代搜索结果。