New Contacts Data API features are here!

Tuesday, June 09, 2009 at 8:25 AM

A new version of the Contacts Data API has been made available. V3.0 of the API brings greatly expanded data schema, including support for structured name and postal address.


We have vastly extended the data schema for contacts to allow faithful synchronization of Google Contacts with other widely used contact databases, like Microsoft Outlook or Apple's Address Book. Besides the support for structured name and postal address, another highlight is the inclusion of the oft-requested birthday field.

We hope the new version of the Contacts Data API will allow developers to easily create more sophisticated and universally compatible contacts-enabled applications. For any questions about the new features, please visit the Google Contacts groups page.

OAuth Playground: Open-sourced

Wednesday, May 20, 2009 at 2:48 PM


The OAuth Playground has proven to be an invaluable tool for developers. For one, it's handy for experimenting with the Google Data APIs, but more importantly, it gives developers the ability to debug their own OAuth implementations. Anyone who tinkered with the open protocol knows it has nuances! Many first-timers fall into the same pitfalls, so to help remedy that, I've decided to open-source the Playground in hopes that other OAuth service providers will create similar tools for their own APIs.

A lot has happened in the OAuth space since the Playground's release last fall. Included in that is Google's growing number of OAuth-related features and resources to aid developers. Here are just a few:

  1. 2 legged OAuth for Google Apps administrators
  2. Hybrid (OpenID + OAuth) protocol
  3. Client library OAuth samples in Python, App Engine Python, Java, App Engine Java, PHP
  4. Article: Using OAuth with the Google Data APIs
  5. Article: Using OAuth in the Google Data API Client Libraries

The feedback we have heard is that OAuth is difficult to implement and that it's tough to grasp the interactions between user, consumer and service provider. By open-sourcing the OAuth Playground, we really want to make it easier for developers to understand the OAuth flow and debug their own OAuth applications.

For even more information on OAuth and the OAuth proxy, check out our talk at Google I/O entitled Using Google Data APIs and OAuth to Create an OpenSocial Gadget.

If you have any questions, ask in the forums!

Google Analytics Data Export API has Launched!

Tuesday, April 21, 2009 at 10:08 AM

We are very excited to announce a new member to the Google Data API family, Google Analytics! For those of you who don't know, Analytics is a powerful web analysis tool that provides incredible amounts of data about where visitors come from, what they do while on your site and where they go from there. The best part is that it's free for everyone!

The new Google Analytics Data Export API is now publicly available to all Analytics users as a Labs API that provides an easy to use way to get read-only access to your Analytics data. All report data that is available to you through the web interface will also be available through this new Google Data API. In addition to the standard Google Data API protocol of making requests over HTTP and accessing your data in XML, we will also be providing both a Java and JavaScript client library to make it even easier to integrate with your Analytics information.

With the availability of this API, you all now have a standardized way to integrate your Google Analytics Data with your own business data to extend existing products or create new standalone applications. Want to see custom views of your Analytics data? Create your own dashboards and gadgets that pull from the Analytics API. Want features that aren't included in the web interface? Build them yourself instead of waiting for them to be developed. Take a look at this Android application from Actual Metrics or this desktop application from Desktop-Reporting to see examples of what some developers have already done.

To dive in and begin writing your own apps, make sure you go to the Analytics API section of the Google Code website to find all of the necessary documentation. For key announcements, code changes and updates, sign up for the Google Analytics API Notify e-mail group which we promise will only send out e-mails when there is something that directly affects developers. Lastly, to share ideas and and get feedback from other developers, join the Google Analytics API Group.

For more details on Google Analytics and the new API, check out the Analytics blog. For more information about building gadgets with the JavaScript library and other topics related to the Google Data APIs, make sure to check out the website for our developer conference, Google I/O, which will be taking place from May 27-28th in San Francisco.

[Updated on 05/22/2009] We are happy to also announce that we added the Google Analytics API to the Objective-C client library. Check out the library here and if you have any questions, please read the new post on the Objective-C group page.

Friends, Activities and You - Become a Socialite the .NET Way

Thursday, March 05, 2009 at 8:58 AM



The new .NET SDK has been released and is available for download. There are a lot of changes, and among the highlights you will find:

- Updated support for YouTube V2
- Support for Google Contacts V2
- Support for Google Documents List V2

For those 3 services, there is now a vertical object model that allows you to use local LINQ queries. Please go through the Google.YouTube, Google.Contacts and Google.Documents namespaces and see what's new there. We have some documentation for it here:

http://google-gdata.googlecode.com/svn/trunk/clients/cs/docs/AdditionalContent/YouTubeLinqExamples.html

The new Google Document project template in Visual Studio shows you how to retrieve all documents and populate a treeview with those documents. In addition there is a Document List Exporter sample application to showcase the new export functionality of the Google Documents service.

Last, but not least, there is the Notifier for YouTube sample application which showcases the activity feeds YouTube is exposing. You can subscribe to events from your friends and other YouTube users and get notified whenever they leave their marks in the YouTube universe. The sample is also available as a separate download on the download page mentioned before.

The complete release notes can be found here, and along with the notes is a list of all of the bugs fixed in this release. To report new bugs, you can go to the .NET library issue tracker.

Enjoy!

Google Data On Rails

Monday, February 23, 2009 at 9:04 AM



"Where's Ruby on the list of client libraries?"

My colleague Jeff Fisher recently open sourced a Ruby utility library for the Google Data APIs. Mind you, it's not a full-blown client library, but it does handle the fundamentals like authentication and basic XML manipulation using the REXML module.

We've got a comprehensive article and sample application, the DocList Manager (full source), to demonstrate the basics.

Please visit us in the Google Data APIs forum to ask questions or submit feedback.

Start the Downloads!

Wednesday, February 18, 2009 at 5:36 PM



Many of you have been waiting patiently for the ability to download your Google Documents using the Documents List Data API. Today, I am very happy to announce the API's top feature request is finally live.

The undocumented (but widely used) RawDocContents url has been replaced by a more versatile Export servlet. Authenticated applications can now download documents in a number of different formats including pdf, doc, ppt, swf, xls, and more.

Exporting is available to all three authentication methods (ClientLogin, AuthSub, OAuth) and will work for developers using the DocList API with a Google Apps hosted domain.

Lastly, we've got samples!

For all the details on exporting your documents, see the documentation. As always, if you have questions, please visit us in the Documents List API forum.

This feature resolves the following issues: 70, 35, 542, 706, 810

Bringing OpenID and OAuth Together

Thursday, January 29, 2009 at 8:47 AM



We are happy to announce an important enhancement to our recently launched OpenID endpoint. Google now supports the "Hybrid Protocol", combining OpenID federated login together with OAuth access authorization. Websites can now ask Google to sign-in a user using their Google Account, and at the same time request access to information available via OAuth-enabled APIs such as the Google Data APIs.

For example, the website www.Plaxo.com is an early adopter of the new service and has already released a beta version supporting it for some of its new users. Plaxo's UI provides both a richer sign-in offering, using the Federated Login OpenID API, and a simple and secure way to import their Google Contacts using OAuth. In the past, sign-in required multiple redirects between Plaxo and Google, and more importantly, multiple user approval pages, one for OpenID during sign-in and another for the OAuth access authorization request. No more!

The Hybrid Protocol allows Plaxo to encapsulate their OAuth authorization request inside the OpenID authentication request, letting Google know that the user wants to use both APIs. Google can now display a single approval page for both requests. Here is how the new user experience looks:

In their sign in page, Plaxo offers their users the option to sign in using their Google Account and import their Gmail Contacts.



The user is then redirected to the Google website and asked to confirm both sign in and access authorization requests.



Finally, the user is redirected back to Plaxo, where she is already signed in and her Google contacts are available. If it's the first time the user signed-in using the Federated Login API, an additional instructive window will be displayed to ensure that the next sign-in experience will be as easy and successful as the first.



Not only does the protocol allows a much better user experience as shown above, it also reduces the total number of browser redirects and roundtrips, reducing overall latency.
To learn more about this new API see http://groups.google.com/group/google-federated-login-api/web/oauth-support-in-googles-federated-login-api. To make it easier for you to use the new API, we created a collaborative Open Source project together with other major vendors where you can download open source implementations for your Relying Party component. You are invited to contribute your own code and suggested best practices to this website.

The Hybrid Protocol is a result of the ongoing effort by the OpenID and OAuth communities to make these protocols more useful for users and websites. Google is working together with the OpenID community to standardize the new protocol as a formal OpenID extension. If you want to help further these efforts and have an impact on what the next advancements are, you are welcome to join the OpenID and OAuth mailing lists.

If you're interested in looking at some code, check out our working sample using the Google Data PHP client library. The source code is available here.