Thursday, September 15, 2011

Getting started on the Google+ API


By Chris Chabot, Google+ Developer Relations

Cross-posted with the Google+ Platform Blog

The Google+ project brings the nuance and richness of real-life sharing to software. The Google+ platform brings that nuance and richness to all of the web. We started with Google’s own products, added the +1 button for site owners and content publishers, and introduced games from a handful of partners. That’s just the beginning though — we want every one of you who builds applications to be able to include rich sharing, identity, and conversations in your app. Today, we’re taking the next step on that journey by launching the first of the Google+ APIs.

Let's Go Public

Google+ gives users full control over their information, supporting everything from intimate conversations with family to public showcases and debates. This initial API release is focused on public data only — it lets you read information that people have shared publicly on Google+. For example, if you want to get my profile information, you can use the people.get method by sending the following HTTP request:

GET https://www.googleapis.com/plus/v1/people/108189587050871927619?key=yourAPIKey

which returns the following JSON encoded output (excerpted for brevity):
{
 "kind": "plus#person",
 "id": "108189587050871927619",
 "displayName": "Chris Chabot",
 "image": {
  "url": "https://lh5.googleusercontent.com/-cQNLOQzkGpE/AAAAAAAAAAI/AAAAAAAAEjo/M9_pXL-ra4Q/photo.jpg"
 },
 "organizations": [
  {
   "name": "Google+ Developer Relations",
   "title": "Developer Advocate & Manager",
   "type": "work"
  }
 ]
}
Similarly, you can get a list of my most recent public posts by using the activities.list method:

GET https://www.googleapis.com/plus/v1/people/108189587050871927619/activities/public?key=yourAPIKey

Because we’re starting with public data only, you simply need to register your app before making requests. And if you aren't yet sure which Google+ user is running your app (for example, because they're installing it for the first time), then you can use the new plus.me OAuth2 scope to ask the user who they are.

After your application has requested this scope, you can use the special “me” identifier rather than the long numeric identifier:

GET https://www.googleapis.com/plus/v1/people/me

On The Shoulders of Giants

We love the way the programmable web has evolved, so we’re using existing standards and best practices wherever we can:
  • Our API methods are RESTful HTTP requests which return JSON responses.
  • Our payload formats use standard syntax (e.g. PoCo for people info, ActivityStrea.ms for activities).
  • We use OAuth 2 for secure trusted access to user data.
In addition, since most of us no longer write raw HTTP requests these days, we provide libraries for your favorite language: Java, GWT, Python, Ruby, PHP, Objective-C, and .NET. These libraries are all open source, so we’d love to have your feedback and help with them.

developers.google.com

You can find more information about the Google+ platform, including today’s new APIs to public data, at developers.google.com/+ on our new Google Developers site. This site will be the place to go for access to documentation, terms and policies, discussions with other developers, tools that make development on the +Platform easier and more fun and, of course, the place where announcements concerning new releases will be made.

Included in our policies are three simple guidelines that we aspire to in our own products, and that we’d like all applications built on the Google+ platform to follow also: put the user first, be transparent, and respect user data. The goal behind these guidelines, as with all of the features and fine print, is to work together to build products that our users will love.

And now …

For all of you developers who have been asking for a Google+ API, this is the start. Experiment with it. Build apps on it. Give us your feedback and ideas. This is just the beginning; the Google+ platform will grow and we value your input as we move Google+ forward.

Follow the conversation on Google+.

Chris Chabot is a Developer Advocate on the Google+ Team.

Posted by Scott Knaster, Editor

20 comments:

  1. Looks interesting might have to have a play once my new machine is built.

    ReplyDelete
  2. Good job I had a feeling the start was now. Waiting on the ability to post to our circles using RSS, or REST & Share items from Google Reader with the push of a button. Cheers & Thanks!

    ReplyDelete
  3. See it in action...

    (not link bait. I don't care if you click on it or not. Just thought you might want to see some google+ posts in a wordpress sidebar widget)

    http://www.elliottucker.net/category/blog/

    ReplyDelete
  4. i wanna try it too...

    ReplyDelete
  5. Woohoo!

    The race to do something cool with this stuff is on!

    ReplyDelete
  6. Google+ begins the race against Facebook, Twitter. Who is the winner?

    ReplyDelete
  7. Wow! I like it. it is difference and interesting.

    ReplyDelete
  8. Hey Guys did any one find social games support related something in API

    ReplyDelete
  9. Why can't one search for the username but for the user id? I mean, when using +API I want to be able to search for a user, I don't know his id.

    ReplyDelete
  10. *mumble* launched with no perl support - not feeling the love here.. Any of the Google+ team got an ETA for when we get even an alpha perl API ?

    ReplyDelete
  11. https://github.com/cideas/as3-googleplus

    ReplyDelete
  12. And... I'm still disappointed. Until you can write to Google+ via the API... I still won't use Google+ at all. I won't post updates to it... or do anything.

    ReplyDelete
  13. Yep ... so far so good!
    @bentrem

    ReplyDelete
  14. such a good news. can't wait to have a try

    ReplyDelete
  15. Is there any way to get back more than 250 posts in the past? This is presently impossible with going back in the stream or even downloading with Data Liberation. I am told the latter problem is a known bug that is being worked on. What is the planned situation with the API and old posts?

    ReplyDelete
  16. Excellent post. Now is there a way to use an eMail as search key? I want to display G+ info next to a comment a user makes and eMail is all I have.

    ReplyDelete
  17. demands:
    + bigger payloads / max responses
    + higher daily API request limits
    + write access

    currently the hacked up API's offer much better functionality. without the above this api is a toy, hopefully you guys evolve it in this direction.

    ReplyDelete