Google URL Shortener gets an API

When we launched Google’s URL shortener externally back in September, there was no accompanying API to allow people to integrate goo.gl into their applications and web pages. However, we said that we were working on one, and today we’re happy to announce that we’ve launched the goo.gl API in Google Code Labs. The documentation can be found on the Google Code site, with example code in the Getting Started section.

With this API, developers are able to programmatically access all of the fast, sleek goo.gl goodness that we currently provide via the web interface. You can shorten and expand URLs using the API, as well as fetch your history and analytics. You could use these features for a wide variety of applications, enabling behaviors ranging from auto-shortening within Twitter or Google Buzz clients to running regular jobs that monitor your usage statistics and traffic patterns. You can check out the Google APIs console to get started.

We’re very excited to be able to offer you this API to access one of the fastest URL shorteners out there. We’re continuing to work on several usability improvements and to make our auto-detection of spammy or malicious content even more robust. We hope that with the new API, you’ll find goo.gl to be even more useful in your future shortening endeavors! If you’re an application developer, check out the goo.gl API documentation and see how it looks.

Richer photo support in the Google Buzz API

You’ve already been able to simply include a photo in a Google Buzz post using the Buzz API. Today we’re making it much easier to add photos to Buzz posts. Additionally, using Picasa as the photo repository, you’ll now be able to wield the Buzz API to take all sorts of other actions on behalf of the user:

  • Create a new album
  • Get an album
  • Update an album’s metadata
  • Delete an album
  • List a user’s albums
  • Upload a new photo
  • Get a photo
  • Update a photo’s metadata
  • Delete a photo
  • List a user’s photos

Accessing a photo entry through the Buzz API is just as easy as getting an activity. The form for retrieving an activity is:

https://www.googleapis.com/buzz/v1/activities/{userId}/@self/{activityId}

With just a few alterations, we get the form for retrieving a photo:

https://www.googleapis.com/buzz/v1/photos/{userId}/@self/{albumId}/@photos/{photoId}

With live data, it would look like the following URL:

https://www.googleapis.com/buzz/v1/photos/farago/@self/5251364904403459921/@photos/5251366163678993586?alt=json&prettyprint=true

Browse to that address and you’ll get data that will point to this Picasa photo:

(Photo by Julie Farago, used under the Creative Commons Attribution Non-Commercial Share-Alike license)

The read-only endpoints will return public data without authentication. For authenticated access to the photos endpoints, you must be granted an OAuth token for the user with both the Buzz and Photos API scopes. For existing users, you will need to discard the OAuth tokens scoped to the Buzz API and request authorization to both scopes. More details can be found on the Google Buzz API documentation site.

Photos are an essential part of social applications. We expect these new capabilities will allow you to enrich your user’s experience with a minimum of fuss. As always, please swing by the Developer Forum to let us know what you think. And if you haven’t already, start using the APIs console to track your API usage and other coolness.