Gracenote示例页面指出,当提供选项时,可以接收多个专辑的数据,包括一个专辑 url(COVER_SIZE 被忽略)SELECT_EXTENDED=COVER
。
我的 xml 请求看起来像
<QUERIES>
<AUTH>
<CLIENT>xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</CLIENT>
<USER>xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</USER>
</AUTH>
<LANG>ger</LANG>
<COUNTRY>deu</COUNTRY>
<QUERY CMD="ALBUM_SEARCH">
<TEXT TYPE="ARTIST">The Beatles</TEXT>
<TEXT TYPE="ALBUM_TITLE">Help</TEXT>
<RANGE>
<START>1</START>
<END>20</END>
</RANGE>
<OPTION>
<PARAMETER>SELECT_EXTENDED</PARAMETER>
<VALUE>COVER</VALUE>
</OPTION>
</QUERY>
```
我使用范围来接收每张专辑的数据,但没有一个包含 url。我切换到 C# API 并编写了一个小程序
ParkSquare.Gracenote.GracenoteClient c = new ParkSquare.Gracenote.GracenoteClient("xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
ParkSquare.Gracenote.AlbumSearcher s=new ParkSquare.Gracenote.AlbumSearcher(c);
ParkSquare.Gracenote.SearchCriteria cr=new ParkSquare.Gracenote.SearchCriteria();
cr.AlbumTitle = "help";
cr.Artist = "the beatles";
cr.SearchOptions = ParkSquare.Gracenote.SearchOptions.Cover;
cr.SearchMode = ParkSquare.Gracenote.SearchMode.Default;
for (var ilauf = 0; ilauf < 5; ilauf++)
{
cr.Range = new ParkSquare.Gracenote.Range((ilauf * 20) + 1, (ilauf+1) * 20 );
ParkSquare.Gracenote.SearchResult sr = s.Search(cr);
foreach(var a in sr.Albums) {
Console.WriteLine( string.Format("{0} {1}",a.Title, a.Artwork.Count()) );
}
}
Console.ReadLine();
它显示没有任何专辑的专辑封面。有错误吗?我错过了什么吗?是否更改了 API,不再支持该功能?