我正在开发一个应用程序,它取得艺术家的名字并列出他/她的所有专辑名称,我正在尝试Gracenote,但是,问题是当我检索前100张专辑时,它说:
错误 - GCSP:搜索错误:[22]搜索:无效范围START = 101:只能访问前100个结果
如何获得艺术家的所有歌曲和专辑标题?
int i = 1;
int j = 20;
try
{
SearchResult gcSearch;
do
{
var gcClient = new GracenoteClient(GracenoteClientId);
var criteria = new SearchCriteria
{
Artist = "Adele",
SearchMode = SearchMode.Default,
Range = new Range(i, j)
};
gcSearch = gcClient.Search(criteria);
foreach (Album album in gcSearch.Albums)
{
_tempList.Add(album);
}
i = j + 1;
j = j + 20;
} while (j < gcSearch.Count);
}
答案 0 :(得分:0)
几乎可以肯定这是API限制。如果它是一个不同的数字,也许它将是别的东西。但每次100?这是他们的行为。
答案 1 :(得分:0)
您可以查看 FreeDB
这是另一个音乐元数据数据库;它是CDDB的开放版本。它是为了响应Escient的行动而形成的,Escient通过其子公司 Gracenote 购买了CDDB的权利并限制了对数据的访问。
答案 2 :(得分:-1)
这可能是Gracenote对免费帐户施加的限制,但您是否尝试过使用分页机制?
var k = client.Search(new SearchCriteria
{Artist = "Guns 'n' Roses", Range = new Range(1, 500)};