Sunday, July 18, 2010

[Learning by doing] Google Data API

The second post on the 'Learning by doing' series is about Google Data API. Google enables the developer community to extend the Google's services by exposing API for almost all of the services offered. Every service offered by Google has its own set of client libraries available in different languages including Java, .Net, Python, Javascript, etc. Some of the things like handshaking of user's credentials, accessing the user's contacts, etc will be the same across these services. The APIs are very simple yet powerful. If one develops an application using any one of these services, he / she will be able to build application easily using the other services as well.
Application to be built: Poor man's Blackberry - an application which will notify you of your meetings via SMS.

How do I start?
  • Google calendar can send notifications to your mobile phones as an SMS. Connect your mobile phone to your Google account. Check our this to connect your phone.
  • Sync your work calendar and Google calendar. Google has a tool called "Google Calendar Sync" for syncing Microsoft Outlook calendar and Google calendar. This tool can sync 2-way but it can sync the events only on the primary calendar. Install the Google Calendar Sync tool.
  • Choose the 1-way sync option: Microsoft Outlook Calendar to Google Calendar. This will incrementally sync all the meetings on your work calendar to the primary calendar of your Google account.
Now, the learning part

If you have completed the steps mentioned above, your office calendar and Google calendar would be in sync now. The problem boils down to sending SMS reminders for your meetings. When the events from your Outlook calendar is synced with the Google calendar, the SMS reminders will not be set to those events as Outlook supports only the Pop-up reminders. Your task is to write a desktop based utility which will open all the synced events and add SMS reminders to them. You can use Google Calendar API to add / delete / modify events on your calendar and add / delete / update reminders of an event. I prefer writing the utility as a desktop one as the scheduling can be done easily. Refer to the client library developer guide here.

I have the working code for doing this job. Please ping me if you need any help at any stage of the development.

-- Varun

No comments:

Post a Comment

google-site-verification: googlea4d68ed16ed2eea6.html