USA TODAY Java I/O Wraps

USA TODAY client libraries for Java

View Project on GitHub

USA TODAY API Client Library for Java

Java client libraries created with Mashery I/O Wraps, a semi-automated native language SDK generator.


What is the USA TODAY API?

USA TODAY offers content APIs that allow developers to access their resources, such as news articles, book reviews, best seller lists (books), census data, movie reviews, music reviews and much more. Head over to developer.usatoday.com to learn more. You can register for instant access to their API, view their documentation, and even make live API calls with their interactive docs.


Summary

An API client library (also known as an SDK or language wrapper) is an efficiency tool for programmer that helps bind external resources to your native programming language. Traditionally, to integrate an API into your project without a client library, you would need to do the following:

  1. Construct a network request using a transport library (e.g. HTTP)

  2. Integrate authentication flow and signatures (e.g. OAuth, MD5/SHA-256, etc.)

  3. Construct and execute API calls manually, often a trial and error process while reading documentation

  4. Parse through results

  5. Lather. Rinse. Repeat.


How does the client library help?

Client libraries make life easier by bringing the API into your native language environment. So, rather than making curl calls, piping the output into a variable, and parsing through the variable -- the client library handles the network connectivity, authorization and API call execution with syntax you're familiar with:

// Initialize the client library
$client = new apiClient();

// Set your API key
$client->setDeveloperKey("YOUR_KEY_HERE");

// Connect client to the API
$api = new apiService($client);

// Make an API call and store the response in an object
$StoryList = new StoryList($api -> ArticleMethods -> TopNews ("json","sports"));

// Iterate through the list of stories, and echo the titles
foreach ($StoryList->getStories() as $story) {
   echo("Title: " . $story->getTitle());  
}

Above is just a pseudo-PHP-code example of how this library works. If you'd like to see it in action, check out the example PHP files in this repo.


Requirements

  1. Java
  2. Maven
  3. Rovi API key -- head over to http://developer.usatodaycorp.com

IDE is optional, but nice

At Mashery, we love vim just as much as the next guy, but when it comes to tool-tips, code-completion and general object-oriented goodness, IDEs can be really useful. Eclipse, Aptana, Netbeans, Komodo, etc. They're all very mature and useful tools.


Installation / Quick Start Guide

Follow the steps below for a quick start to using this client library:

  1. Grab the latest source with git.

    git clone git://github.com/mashery/io-wraps-usatoday-java.git
  2. From the root of the unpack repo above, build with Maven:

    maven install
  3. Head over to USA TODAY Developer Network to fetch an API key

  4. Open up your IDE and import the Maven project.

This client library was built using Mashery I/O Wraps, which incorporates the Google Client Library Generator and other Google native language libraries. This is why the package layout looks like com.google.api...


About / License