Tuesday, October 27, 2009

There's a Google API for that...err..soon.

I have a small project that keeps dragging me deeper into Google API's which seem like they will do what I want, but not quite yet. The latest was to find Google Apps Script, only to find out the preview has ended. I've asked when this will be available (See also: BLOG posting) for http://spreadsheets.google.com , and haven't yet seen any replies.

Here is the scenario. The final output is a Google map that will show up on a website. That part of the Google Maps API I seem to have figured out.

As inputs there is a Google Map that has farms, restaurants, and other locations pinpointed and labeled with a ID. That ID corresponds to a row of information that is currently held in a spreadsheet. What I want to do is mash together the Map information (KML output from Google Maps) with the spreadsheet information such that I have lat and long columns filled in.

It is trivial to upload this spreadsheet to Google Docs, and the person maintaining the information has already done this to allow for easier sharing.

Google Apps Script seemed ideal as it would run without anything special hosted elsewhere (IE: it is JavaScript running on Google). It would would have the ability to not only read and manipulate a Google Spreadsheet, but also to be able to source information from elsewhere (IE: the Google Map XML) as part of the manipulation. If only this API were available.

The next best would be if I could use Spreadsheets Gadgets, but everything I've seen suggests that this API only allows read-only access to the spreadsheet. The intended audience seems to be people doing output visualizations. This will be helpful in the project in other ways (IE: for outputting an XML file to be used as input for our Google Maps application), but not at all helpful for this aspect.

It seems that I'll have to go with an application that runs elsewhere using the Google Spreadsheets Data API, or just do this the old fashioned way of importing the spreadsheet data (via CVS) into MySQL to be manipulated that way. This isn't convenient in this situation as it would be best if the application didn't need to be hosted elsewhere, and eithor ran internal to Google (Google Apps Script) or ran in the browser (Google Gadget).

If anyone reading this has any alternative suggestions, please post in the comments.

Post a Comment