You can pull data from their API into a server-side process and then pass it along (filtered or raw) to your browser. But browser security won't let you access JSON data from a different-origin server. It's not NYTimes.com's fault; it's the cross-site scripting jerks who made the security necessary in the first place. On Wed, Sep 28, 2011 at 1:26 PM, Nate Hill <[log in to unmask]> wrote: > Wait- what would be the point of their API if I couldn't run anything on a > domain other than nytimes.com? > Thanks everyone for the pointers. I'll get back to it! > If I can pull the first 5 titles from the different best seller lists, and > then using the ISBN build a link to those titles in the library catalog, I > will have made something useful which I will gladly share back to the list. > > On Wed, Sep 28, 2011 at 1:23 PM, Godmar Back <[log in to unmask]> wrote: > > > Are you trying to run this inside a webpage served from a domain other > than > > nytimes.com? > > If so, you'd need to use JSONP, which a cursory examination of their API > > documentation reveals they do not support. So, you need to use a proxy. > > > > Here's one: > > $ cat hardcover.php > > <? > > $cb = @$_GET['callback']; > > > > $json = file_get_contents(' > > > > > http://api.nytimes.com/svc/books/v2/lists/hardcover-fiction.json?&api-key=xxxx > > ' > > ); > > header("Content-Type: text/javascript"); > > echo $cb . '(' . $json . ')'; > > > > ?> > > > > Install it on your webserver, then change your JavaScript code to refer > to > > it using callback=?. > > > > For instance, if you installed it on > > http://libx.lib.vt.edu/services/nytimes/hardcover.php > > then you would be using the URL > > http://libx.lib.vt.edu/services/nytimes/hardcover.php?callback=? > > (.getJSON will replace the ? with a suitably generated function name). > > > > - Godmar > > > > On Wed, Sep 28, 2011 at 3:28 PM, Nate Hill <[log in to unmask]> > > wrote: > > > > > Anybody out there using the NY times best seller API to do stuff on > their > > > library websites? > > > I can't figure out what's wrong with my code here. > > > Data is returned as "null"; I can't seem to parse the response with > > jQuery. > > > Any help would be supercool. > > > I removed the API key - my code doesn't actually contain 'xxxx'. > > > Here's the jQuery: > > > > > > jQuery(document).ready(function(){ > > > $(function(){ > > > //json request to new york times > > > $.getJSON(' > > > > > > > > > http://api.nytimes.com/svc/books/v2/lists/hardcover-fiction.json?&api-key=xxxx > > > ', > > > > > > function(data) { > > > //loop through the results with the following > > > function > > > $.each(data.results.book_details, > > function(i,item){ > > > //turn the title into a variable > > > var bookTitle = item.title; > > > $('#container').append('<p>'+bookTitle+'</p>'); > > > > > > }); > > > }); > > > }); > > > }); > > > > > > > > > Here's a snippet of the JSON response: > > > > > > { > > > "status": "OK", > > > "copyright": "Copyright (c) 2011 The New York Times Company. All > > Rights > > > Reserved.", > > > "num_results": 35, > > > "last_modified": "2011-09-23T12:00:29-04:00", > > > "results": [{ > > > "list_name": "Hardcover Fiction", > > > "display_name": "Hardcover Fiction", > > > "updated": "WEEKLY", > > > "bestsellers_date": "2011-09-17", > > > "published_date": "2011-10-02", > > > "rank": 1, > > > "rank_last_week": 0, > > > "weeks_on_list": 1, > > > "asterisk": 0, > > > "dagger": 0, > > > "isbns": [{ > > > "isbn10": "0399157786", > > > "isbn13": "9780399157783" > > > }], > > > "book_details": [{ > > > "title": "NEW YORK TO DALLAS", > > > "description": "An escaped child molester pursues Lt. Eve > > > Dallas; by Nora Roberts, writing pseudonymously.", > > > "contributor": "by J. D. Robb", > > > "author": "J D Robb", > > > "contributor_note": "", > > > "price": 27.95, > > > "age_group": "", > > > "publisher": "Putnam", > > > "primary_isbn13": "9780399157783", > > > "primary_isbn10": "0399157786" > > > }], > > > "reviews": [{ > > > "book_review_link": "", > > > "first_chapter_link": "", > > > "sunday_review_link": "", > > > "article_chapter_link": "" > > > }] > > > > > > > > > -- > > > Nate Hill > > > [log in to unmask] > > > http://www.natehill.net > > > > > > > > > -- > Nate Hill > [log in to unmask] > http://www.natehill.net >