7

How can I get the contacts of a user that has already authenticated using OAuth 2, using Javascript?

The authentication is already made, so I need only how to get the contact list. I have read that Google Contacts Api 1 and 2 had some examples for Javascript codes, but i can't find anything on the Google Contacts V3 site. Could it be that this can no more be done?

MPelletier
  • 16,256
  • 15
  • 86
  • 137
Tudor Ravoiu
  • 2,130
  • 8
  • 35
  • 56
  • You can use external SDKs to get contacts in an easiest way, like [cloudsponge.com](http://www.cloudsponge.com/contact-importers/gmail). It's has an easy SDK for several languages, a widget importer and support a lot of different contact services. Disclaimer: I work for CloudSponge. – Rael Gugelmin Cunha Aug 15 '14 at 14:12

2 Answers2

20

Google Contacts API v3 does not provide a JavaScript SDK.

However, if you want to handle the contact importing on the client-side you can do it with an ajax call :

var clientId = 'XXX';
var apiKey = 'XXX';
var scopes = 'https://www.google.com/m8/feeds';

$(document).on('click', '.js-google_contacts', function() {
   gapi.client.setApiKey(apiKey);
   window.setTimeout(checkAuth, 3);
});

function checkAuth() {
  gapi.auth.authorize({
    client_id: clientId,
    scope: scopes,
    immediate: false
  }, handleAuthResult);
}

function handleAuthResult(authResult) {
  if (authResult && !authResult.error) {
    $.get('https://www.google.com/m8/feeds/contacts/default/full?alt=json&access_token=' +
           authResult.access_token + '&max-results=700&v=3.0',
      function(response) {
         //Handle Response
      });
  }
}

Hope that helps!

Tristan
  • 3,192
  • 3
  • 20
  • 32
1

This is what we found to work to get individual data:

var response = (JSON.stringify(response.feed.entry[0].gd$email, null, 4));
console.log(response);

If you run JSON.stringify(response) you can see all of the headers that you can call on.