Amazon API - Instant Video results

2020-05-16 09:44发布

问题:

I am querying Amazon's Product Advertising API for Instant Video (streaming) results. Everything is working fine -- except that there is some missing information:

  1. Descriptions are not included in results. For example, on Amazon's website the movie "Food, Inc" (http://www.amazon.com/Food-Inc/dp/B002VRZEYM) has the description "An unflattering look inside America's corporate controlled food industry.". When queried via the API, however, no description is returned at all.

  2. Titles of TV shows are not included in results. For example, if you search for the 2nd episode of season 1 of Arrested Development (called "Top Banana") on Amazon's website (http://www.amazon.com/gp/product/B000N2VRJ8), you will get the full name of the TV show, season #, episode #, and episode name. When queried by the API, however, only the episode name is returned.

Does anyone know of a solution to these problems? FYI, the nodeId I am using for my search is 2858778011. Thanks!

回答1:

In order to get more details, you'll need to set the ResponseGroup parameter in your request. See the ResponseGroup section of the ItemLookup documentation to see the different Response Groups that you can use.

For example, setting the ResponseGroup parameter to Large or Medium or Small or even ItemAttributes will give you the description:

An unflattering look inside America's corporate controlled food industry.

for Food, Inc (B002VRZEYM) and the Title:

Top Banana

for Arrested Development season 1 episode 2 (B000N2VRJ8).



回答2:

I had the same problem, while trying to query the Amazon API for Prime Instant Video content. Although this question is kinda old, there are probably some people like me who are interested in a detailed answer, especially for the second part (2.).

  1. Like Jonathan Spooner already said, you have to set a response group that returns the data you're interested in. Official documentation: Response Groups - Product Advertising API. In your case, I think, the ResponseGroup Small should do.

  2. If you want to get the title of a TV show, which contains a certain episode, you have to set the response group RelatedItems in your request, too (you can set multiple response groups in one request). You will also have to name a RelationshipType, otherwise the request will fail. For Episode -- Season - Relationships you choose Episode.

    With RelatedItems, the result will contain a node named <RelatedItems>. You will find the season item in there, which's title should be something like " Arrested Development - Season 1 [HD]".

Note: If you really just want the TV show title, you could either parse the season name for it or you could make another ItemLookup with the seasons ASIN: set the response group RelatedItems again, but this time with RelationshipType=Season. This will return Season - TV Series - Relationships. The related item will contain the TV Show in general. (But the title could have a suffix like [HD] anyway)

Here you have a list with all relationship types: Relationship Types - Product Advertising API