Search code examples
gracenote

Gracenote eyeQ GNIDs changed over time


On August 6th, I made a TVGRID_LOOKUP request with the gracenote eyeQ API.

The response returned an Episode of "The Big Bang Theory - The Zazzy Substitution" (airing-time 21:45). The TVPROGRAM GNID was 442470733-5294AFF66A2B66D6CF9368BCE777839F.

Today I made the same request and got a different GNID (445129959-C521A678BE53213977744678C90B202C). What happend? I thought GNIDs are unique?

Just in case, here's my request:

<?xml version="1.0"?>
<QUERIES>
  <AUTH>
    <CLIENT>__CLIENT_ID__</CLIENT>
    <USER>__USER_ID__</USER>
  </AUTH>
  <QUERY CMD="TVGRID_LOOKUP">
    <TVCHANNEL>
      <GN_ID>251533333-26F45A038CFBD8323F70D3944EB16008</GN_ID>
    </TVCHANNEL>
    <DATE TYPE="START">2014-08-11T20:00</DATE>
    <DATE TYPE="END">2014-08-11T20:10</DATE>
  </QUERY>
</QUERIES>

Solution

  • TVPROGRAM's are unique within the TVGRID, but are not guaranteed to be consistent from day to day. However, if you do a follow up query, you can get a unique GN_ID of the AV_WORK that represents the show/episode. For example:

    <QUERIES>
      <AUTH>
        <CLIENT>_your_client_id_</CLIENT>
        <USER>_your_user_id_</USER>
      </AUTH>
      <LANG>eng</LANG>
      <COUNTRY>usa</COUNTRY>
      <QUERY CMD="TVPROGRAM_FETCH">
        <GN_ID>445129959-C521A678BE53213977744678C90B202C</GN_ID>
      </QUERY>
    </QUERIES>
    

    Returns:

    ...
    <AV_WORK>
        <GN_ID>240234711-A3BEDE6BF00D48B35FAE5F0E66305B30</GN_ID>
    </AV_WORK>
    ...
    

    This AV_WORK GN_ID will be the same between the different TVPROGRAM GN_IDs you received.