0

我正在尝试使用 GraceNote Web API,但我得到了意想不到的结果。例如,当我运行查询以获取 Green Day/Dookie/She 的曲目信息时,我得到了我所要求的所有内容,但是如果我将 album_title 更改为 AMERICAN IDIOT,我仍然会收到回复说找到了 24 首曲目我的曲目是 #21,而 American Idiot 上没有名为“she”的歌曲(因此不应返回任何内容)。这是我的查询的副本:

<QUERIES>
  <LANG>eng</LANG>
  <AUTH>
    <CLIENT>MyClientID</CLIENT>
    <USER>MyUserID</USER>
  </AUTH>
  <QUERY CMD="ALBUM_SEARCH">
    <MODE>SINGLE_BEST_COVER</MODE>
    <TEXT TYPE="ARTIST">green day</TEXT>
    <TEXT TYPE="ALBUM_TITLE">american idiot</TEXT>
    <TEXT TYPE="TRACK_TITLE">she</TEXT>
    <RANGE>
        <START>1</START>
        <END>1</END>
    </RANGE>
    <OPTION>
        <PARAMETER>SELECT_EXTENDED</PARAMETER>
        <VALUE>COVER,LINK,ARTIST_BIOGRAPHY</VALUE>  
      </OPTION>
      <OPTION>
        <PARAMETER>COVER_SIZE</PARAMETER>
        <VALUE>THUMBNAIL</VALUE>
      </OPTION>
  </QUERY>
</QUERIES>

有人可以解释为什么我得到结果吗?

我也遇到了其他异常情况,但我会将它们作为单独的问题发布。

4

1 回答 1

1

The Gracenote database is really comprehensive, and contains almost every CD ever made in the world. What you've stumbled upon is probably a "gray market" compilation CD, which contains all of American Idiot, plus a bunch of B-sides and other hits. From our stats, it's actually a fairly popular compilation in certain countries, though I can't find any links to that product online.

If you do an ALBUM_FETCH on the Album GN_ID you got from your ALBUM_SEARCH, you can see the list of all 24 tracks on this CD.

<QUERIES>
  <LANG>eng</LANG>
  <AUTH>
    <CLIENT>YourClientID</CLIENT>
    <USER>YourUserID</USER>
  </AUTH>
  <QUERY CMD="ALBUM_FETCH">
    <GN_ID>72313663-EEE803E4BAB5BE208EA8278B77321863</GN_ID>
  </QUERY>
</QUERIES>

If you do your original query without the ALBUM_TITLE field, you will get the correct version of "She" on "Dookie".

于 2014-02-04T19:00:55.477 回答