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.



Anonymous said...

Nothing on http://www.dataliberation.org/ ?

Russell McOrmond said...


That site focuses on getting data in and out of Google applications. This isn't our problem, as the import/export options for Google Spreadsheets are great, as is the ability to export KML files from Google Maps.

What I'm wanting to do is a mashup of these data sources without having to host the application elsewhere (IE: on an unknown desktop with unknown language abilities, or on a server requiring hosting/etc).

I was hoping to do the mashup with only what is able to be done within Google's servers with the addition of JavaScript on a standard client.

Thanks for the note -- another related site to bookmark for ongoing projects that seem to include Google.

Russell McOrmond said...

I should have looked at the ID first. Hi Robin. Been a while..