Part II. Remixing a Single Web Application Using Its API

In Part I, we looked at how to recombine information without resorting to formal programming techniques. There is a lot that can be done by carefully examining various web applications from the perspective of an end user looking for integrative opportunities. We studied, for instance, how you can recombine information through manipulating URLs, introducing tags, and connecting feeds from one application to another.

In the rest of the book, we’ll take on the programmer’s perspective. In the first two chapters in this part, for example, we turn to learning about how to use web services, starting from the concrete example of Flickr (Chapter 6) and then contrasting and comparing Flickr to other examples (Chapter 7). In Chapter 8, we turn to ­Ajax-­based and ­JavaScript-­based widgets, building upon what we learn in Chapter 6 and Chapter 7.

Table of Contents

6. Learning Web Services APIs Through Flickr
An Introduction to the Flickr API
What Does This XML Response Mean?
What Can You Do with the XML Response?
API Documentation, Community, and Policy
Terms of Use for the API
Using the Flickr API Explorer and Documentation
Calling a Basic Flickr API Method from PHP
HTTP Clients
A Refresher on HTTP
XML Processing
Pulling It All Together: Generating Simple HTML Representations of the Photos
Where Does This Leave Us?
The Flickr API in General
Using flickr.reflection Methods
Querying the Flickr Reflection Methods with PHP
Request and Response Formats
Flickr Authorization
Why Passing Passwords Around Doesn’t Work Too Well
Authorization for Web Apps
Using Flickr API Kits
PEAR::Flickr_API
phpFlickr
Phlickr
Limitations of the Flickr API
Summary
7. Exploring Other Web APIs
XML-RPC
What’s Happening on the Wire?
Using Wireshark and curl to Analyze and Formulate HTTP Messages
Parsing XML-­RPC Traffic
SOAP
The Dream: Plug-­and-Go Functionality Through WSDL and SOAP
geocoder.us
Amazon ECS
The Flickr API via SOAP
Learning About Specific Web APIs
Programmableweb.com
YouTube
GData and the Blogger API
Using the Blogger API As a Uniform Interface Based on HTTP Methods
Summary
8. Learning Ajax/JavaScript Widgets and Their APIs
What You Need to Know
What Difference Does Ajax Make?
Learning Firebug, DOM Inspector, and JavaScript Shell
Using the DOM Inspector
Using the Firebug Extension for Firefox
Using the JavaScript Shell
Working with JavaScript Libraries
YUI Widgets
Using the YUI Calendar
Installing YUI on Your Host
Learning Google Maps
Accessing Flickr via JavaScript
Using Greasemonkey to Access New York Times Permalinks
Learning More About JavaScript and Ajax
Summary