Google APIs at Your Fingertips

Tomas Vitvar
Jul. 01 2010, 09:31AM EDT

If you are a bit of a command-line junkie and ever wanted to use APIs but wished you could get that data straight from your favorite shell, GoogleCL is for you. GoogleCL is a new open source project that allows you to utilize major Google APIs without writing code. It defines a set of commands that you can use as command-line utilities and access a number of Google services. For example, you can upload pictures to Google Picasa Web, create a new event in your Google Calendar, upload a blog post to Google Blogger, export your contacts to a file and much more.

GoogleCL example scripts give you some good ideas on what you can run:

  • Blogger
  • $ google blogger post --title "foo" "command line posting"

  • Calendar
  • $ google calendar add "Lunch with Jim at noon tomorrow"

  • Contacts
  • $ google contacts list name,email > contacts.csv

  • Docs
  • $ google docs edit --title "Shopping list"

  • Picasa
  • $ google picasa create --title "Cat Photos" ~/photos/cats/*.jpg

  • Youtube
  • $ google youtube post --category Education killer_robots.avi

Wonder what is the difference between GoogleCL and API calls you make through cURL? They both live in your shell, however, with cURL you need to understand low-level details of API protocols and data structures you pass to services and receive back. GoogleCL is much simpler: it hides all programming details and lets you only specify command-line arguments in the same way as you do with most command-line utilities. Moreover, GoogleCL behaves as a third-party application that accesses your data in Google's cloud. It authenticates using OAuth which gives you the full control over its access rights that you can always revoke in your Google account settings.

At the initial stage of GoogleCL development you can access Blogger, Calendar, Contacts, Docs, Picasa, and Youtube. More services will come in the future GoogleCL releases. GoogleCL is written in Python and requires gdata-python-client library.

Tomas Vitvar

Comments