3. 2. 1. Contact. The API has landed

Wednesday, March 05, 2008 at 4:42 PM



Have you ever been on a web-site that asked you for your Google username and password so that it can import your Gmail contact list? Did you think twice before giving out that information, hoping the web-site would not use it to access your credit card information stored with Google Checkout? Now you don't have to!

We're happy to announce the availability of our Google Contacts Data API that gives programmatic access to your contact list. The contact list is shared among Google applications like Gmail, Reader, Calendar, and more.

The Google Contacts Data API allows you to own your own contact data. We expect the API to be useful for a big range of applications. For example, developers can use it to:

  • Import a user's Google contacts into their web or desktop application
  • Export their application's contact list to Google
  • Write sync applications for mobile devices or popular, desktop-based contact management applications
The Contacts API allows developers to create, read, update, and delete contacts using the Google Data protocol, based on AtomPub. It also allows for incremental sync by supporting the "updated-min" and "showdeleted" parameters. Please take a look at our documentation to see all the options supported.

We know that this Google Data API is the most requested feed by our developer community, so we're very excited about this release. We are committed to actively work with you to improve the Google Contacts Data API and we'd like to hear back from you in our Google Contacts API group.

We hope that APIs like this one mean you will never have to give out your username and password to other sites again. Please encourage all sites you use to switch to this API for accessing your Google contact data.

49 comments:

ahsan said...

AWESOME! Been waiting forever for this!

Raveem said...

I've been waiting for this for years! Brilliant!

Marshall Kirkpatrick said...

no oauth?

jonpierce.com said...

Great start, but support for OAuth and OpenID would make this so much more useful.

- Jon

Scabr said...

Interesting for bloggers

suhaib said...

Great work google, contact listing was the one feature I needed the most and it came at the right time.

Kin Lane said...

Good stuff. Needed this type of access to contact list to make more robust contact relationship management, social graph, and data portability features in some of my applications.

Will be interesting to integrate with the OpenSocial apps I am doing.

theill said...

Very nice - we've been waiting for this for a while now :-)

I'll check out the docs immediately

cyphorous said...

It sounds really awesome. But i cant seem to get it, where is authorization for the client asking for the contact lists. Currently we give them our gmail username and password, using CONTACT API, how would they be granted access to our private contact lists.
Thanx.

Søren said...

Nice!

Now all we need is for someone to develop a client for sync'ing Google with Outlook Contacts!

Romkin said...

Google already released a client for Outlook ! i want SyncML clients for iSync (Mac) and Symbian, Windows and iPhone!

Biju Ayyappan said...

Cool..
keep it up Guys...

Aaron said...

This is fantastic! Thanks to Google for listening to our pleas! ;)

Travis Reeder said...

Google, I love you. ;)

Free, Anonymous OpenID by http://www.jkg.in/ said...

Yeah Google ! You are the best of universe ! I love you so much too ! ;)

Yeah, more private data spread on the web without explicit authorization of the concerned person.

Ready for privacy disaster ?

Jawad Shuaib said...

Just what the web needed! Thank you Google!

- Jawad Shuaib
http://www.j4wad.com

Paul R Brown said...

Your "AtomPub" link is to the Atom Syndication specification. You want RFC 5023, not RFC 4287.

ryguryg said...

paul:
Thanks for the tip! I've fixed the link :)

Sebastian Kanthak said...

"anonymous openid user":

The API requires authorization by the owner of the contact list. It does not give out any information without explicit authorization.

Free, Anonymous OpenID by http://www.jkg.in/ said...

@ Sebastian Kanthak

Thanks for the explanation, but I know how it works.

Ideally, the system would send an authorization request to the concerned person asking : "Do you allow me to export your profile to this third-party service ?".

It's not really the same than exporting an address book from a mail provider to another. Currently, mail providers don't mine data to build a graph of relationships and to monetize -(Bling !) this graph.

Now, our profiles will be exported without our consent, not to LDAP/mail providers, but to social crap websites like FaceCrap or the Google OpenCrap.

I'd bet this porduct has yet been designed by my dear Marissa Mayer (I love you so much Marissa for your so privacy protective services). Kiss-Kiss Marissa. ;)

Siddhartha said...

I guess Microsoft has also released its Contact API....Are we seeing WAR on net........

Alex said...

what is the name of the service of authentification ?
alachmann@gmail.com

api.rboyd said...

@alex - 'cp' is the ClientLogin service ID - see http://code.google.com/apis/contacts/developers_guide_protocol.html#client_login

technical questions can be addressed to the community in the google group:
http://groups.google.com/group/google-contacts-api

Ersalan said...

Brilliant!

emclient said...

We have just started working with the API as we plan to have eM Client (our Oulook-killer) ready and synchronized with Gmail within next 2 weeks...checkout our developers blog at

http://www.emclient.com

uBAD! said...

MOST AWAITED which still remains is the feature of MERGING contacts together in gmail ...i hope this API solves this issue also i hope to see robust 2 way sync applications for all major mobile platforms like JAVA symbian windowsmobile blackberry iphone etc

Santosh said...

Why can't it just support SyncML so that we do not have to rely on third parties for their interface?

Linda said...

Sorry, I am not a developer. I would just like to make the Contacts I have entered via Google Gmail Contacts sync over to my iPhone. Right now I have to type them in in both places. Am I missing something important? I didn't see anything like that.

RAMGOUD said...

yah,Google contatcts cod eis very helpful to many members.It has the features of managing mobile contacts on web... If u loss the mobile still we can retrieve these contacts anyway.i will implement in this week itself.

Thanks,
Ram

Viral Friends Inviter said...

Contacts API for multitude of services. Native viral growth for your community over social graph.

http://www.FriendsInviter.com
(PHP & Ruby)

Privacy Respected!

adamwk said...

How about just adding a contacts search to my google desktop? that'd be more useful

reddy said...

Hey Can you write a detail doc how to implement this API in a web application similar to social networking sites.

sanasingh said...

Brillient medium to express my views fearlessly and openly.Freedom of expression atlast.

Zindus said...

A short note to announce an open-source Thunderbird addon which syncs Thunderbird Contacts with Google Contacts - http://www.zindus.com

Thanks to Google for releasing the API - it's really easy to work with!

Murat Bişkin said...

great thing

Robert said...

This is a great start. Can't wait for the ability to sync my Gmail contacts with my cell phone. Blackberry and Windows Mobile support would be great. Even with MS Outlook would be nice!

Ray Privett said...

Anything out there yet to sync with Evolution?

miguellomelino said...

Sorry for the question, but how do I install it and how do I configure it? I've been searching but I didn't find any instructions.

Xochi said...

Hopefully this is a basic question. I cannot figure out how to get a gdata key for the calendar in Apps. I am trying to use the wpng widget for wordpress and it requires this api key. When I follow the link in the documentation I am sent to google login page which does not accept the login for my domain. So I am not sure that this link works for the calendar in Apps that is used by my domain, and I am not able to get this api key. Thanks.
Xochi

Brandon Thomas-Tomczak said...

Is this why my wife's gmail, when hacked by spammers, suddenly spewed spam to her entire contact list? And then was erased? Why is google not responding to this serious flaw?

api.rboyd said...

@brandon thomas-tomczak,

Sorry to hear of your wife's problems with her Gmail account. The release of this API is highly unlikely to be directly related to the problems you mention. The API only accepts requests using two types of authentication to retrieve contact lists-- ClientLogin and AuthSub. These methods either respectively require an account username and password, or explicit authorization from the user to give a third party application access to a contacts list.

In order to discover if she's explicitly granted any third-party sites access to the data in her account using AuthSub (and revoke such access), she can visit:
https://www.google.com/accounts/IssuedAuthSubTokens

For more help with Gmail, please see the following sites:
Gmail help center: http://mail.google.com/support/?ctx=u2u_main

Gmail discussion group:
http://groups.google.com/group/Gmail-Help-Discussion

Abuse reporting form:
https://gmail.google.com/support/bin/request.py?security=1&ctx=security

Thanks,
-Ryan

Loren said...

A professional networking site that I participate in seems to have access to my contact list.

https://www.google.com/accounts/IssuedAuthSubTokens

returns no third parties authorized. I do frequently click on links to that site from emails that I receive from them - would that open a door a crack to permit them access to my gmail session for purposes of accessing my contact data?

If so, is there any way to explicitly disallow this behavior?

Trevor Johns said...

@Lauren:
Third-party sites are not supposed to be able to access your contact list without your explicit authorization.

Would you please provide me with some additional details so I can diagnose what you're experiencing? Specifically:

- What is the site that's accessing your profile?
- How do you know that the other site has access to your contact list?
- If you change your Google account password, does the other account still have access to your contact list?

Feel free to contact me directly, if you'd prefer: tjohns@google.com.

cher said...

nice tip...
Easy Answering

sam said...

@xochi:

Did you ever figure out how to use the Google APIs for your domain? I'm having the same problem.

Trevor Johns said...

@xochi. @sam:
When you request an Google Data API key (http://gd.google.com/html/signup.html), you'll need to login with a regular Google account, not a Google Apps account. The two are separate.

You can register for a regular Google account here:

https://www.google.com/accounts/NewAccount

Even though you the API key isn't tied to your Google Apps account, it will work with Google Apps anyway.

If you continue to have problems with this, please bring this issue up on the help group for the API you're trying to use. For the Calendar API, this would be here:

http://groups.google.com/group/google-calendar-help-dataapi

If you're using another API, you can find the help group by selecting an API on the following page, then clicking "Group" on the navbar at the top of the page:

http://code.google.com/apis/gdata

nilesh said...

See demo here

http://www.narolainfotech.com/GmailContactImport.html

True Menfese said...

How do i get the app?

Emre said...

sohbet