Thread: Amazon Support
View Single Post
Old 06-23-2009, 09:41 AM   #15
ldolse
Wizard
ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.ldolse is an accomplished Snipe hunter.
 
Posts: 1,337
Karma: 123455
Join Date: Apr 2009
Location: Malaysia
Device: PRS-650, iPhone
Ok, well google seems out for the moment on that particular feature, but it seems to me that this pricing feature of isbndb would still be quite useful. It easily allows the returned ISBNs to be ranked based on current availability. ISBNs being both new and in stock would be the most desirable as they would be most likely to have high quality covers along with useful things like access to reviews, ratings etc (not needed today but maybe in the future).

The GUI could put them at the top of the list and potentially format them in some way to indicate that those are preferred choices. New & in stock could have highest priority, in stock next, followed by ISBNs that return no availability info(google being in this latter category). I would be nice to have a checkbox or some option that allows the cover to automatically be retrieved when confirming the ISBN.


As far as the Amazon bit goes, figured out how to use the Amazon API effectively to solve that problem. Turns out that you need to have a developer ID to access the Amazon API, but that's free and trivially gotten. Forcing end users to sign up for that should theoretically leave any of the original poster's concerns about the license agreement to the end user and not to Calibre.

Once you have the developer ID you take the ISBN-10 and submit it to Amazon using the examples below:

This is a working example from a tutorial on kokogiak.com and uses authentication information published there:
Code:
http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=19267494ZR5A8E2CGPR2&AssociateTag=kokogiak7-20&IdType=ISBN&ItemId=0316038377&Operation=ItemLookup&ResponseGroup=Medium,ItemAttributes,OfferFull&SearchIndex=Books
The actual URL needed once a user signs up for a developer account looks like this (non-functioning example):
Code:
http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=<key_deleted>&IdType=ISBN&ItemId=0316038377&Operation=ItemLookup&ResponseGroup=Medium,ItemAttributes,OfferFull&SearchIndex=Books
Note that with the free developer account only the AWSAccessKeyId is required vs. AssociateTag & SubscriptionId in the working example URL.

The different bits of this are:
  1. AWSAccessKeyId=<key_here> - use ID provided by amazon after free signup, go to http://aws.amazon.com/ to sign up.
  2. IdType=ISBN - Set this to search by ISBN-10, though other options are possible
  3. ItemId=0316038377 - ISBN-10 here
  4. ResponseGroup=Medium - additional arguments possible as illustrated above, medium seems to cover the basic requirements
  5. SearchIndex=Books - search category required

Once that's submitted it spits back an xml file. One of the nodes is called '<LargeImage>', this is the full res image URL. There are other nodes with Editorial reviews and product descriptions as well. Using the Kokogiak credentials gave a bit of extra data, not sure if that's possible with a free account, but it's not critical for what we're discussing here.


Regarding Google, it appears that they have some ability to grab prices and availability, but I haven't been able to find anything in their public API documentation. Here's an example though:
http://books.google.com/books?id=MMlxzMNkE_0C

Last edited by ldolse; 06-23-2009 at 10:12 AM.
ldolse is offline   Reply With Quote