Yesterday I posted a quick example of integrating Google's Docs API with ColdFusion. I went ahead and wrapped up the code in a simple set of CFCs. There is a base CFC that handles authentication along with a docs CFC that handles the real interaction. Here is some sample code:

<cfset docs = createObject("component", "docs")> <cfset docs.authenticate("rcamden@gmail.com","foo")>

This creates an instance of the CFC and logs the user on. If authentication fails, a CF error is thrown, so normally this would probably be wrapped in cfry/cfcatch.

To get all your documents, you would run:

<cfset mydocs = docs.getDocumentList()>

This returns a query. One of the columns contains the sourceurl, which can be used to grab the source:

<cfset content = docs.download(mydocs.sourceurl[1])> <cfoutput>result is #content#</cfoutput>

The getDocumentList() supports 2 filters (Google supports more). You can use max to limit the number of results:

<cfset mydocs = docs.getDocumentList(max=9)>

You can also apply a title filter:

<cfset mydocs = docs.getDocumentList(title="Blog")>

The title filter is a search, not a direct match.

Download attached file.