2014-10-19 4 views
0

Я успешно получаю токен доступа с областью действия (https://www.googleapis.com/auth/contacts.readonly), чтобы читать контакты из API контактов Google, но теперь я смущен тем, как запрашивать контакты пользователя с полномочиями.Не удается получить данные из Google Контакты Данные с accessToken

Я использую https://github.com/jaredhanson/passport-google-oauth, чтобы получить токен.

Вот Google API документ: https://developers.google.com/google-apps/contacts/v3/#retrieving_all_contacts

Я попытался

GET https://www.google.com/m8/feeds/contacts/default/full?accessToken=<my access token> 

Но что 401С.

Я что-то большое не хватает ...

ответ

2

«Это не появляется задокументированы в любом месте, но его access_token не accessToken.

Вот мой пример:

app.get('/auth/google/callback', function (req, res, next) { 
    passport.authenticate('google', function (err, user, info) { 
     request.get("https://www.google.com/m8/feeds/contacts/default/full?v=3.0&access_token=" + user.accessToken, function (error, result) { 
      var xml = result.body; 
      var parseString = require('xml2js').parseString; 
      parseString(xml, function (err, result) { 
       var entries = result.feed.entry, contacts = []; 
       _.each(entries, function (entry) { 
        if (!(entry['gd:name']===undefined)) { 
         var gdName = entry['gd:name'][0]['gd:fullName'][0]; 
         var gdEmail = entry['gd:email'][0]['$']['address']; 
         contacts.push({name: gdName, email: gdEmail}); 
        } 

       }); 
       res.send(contacts); 
      }); 

     }); 
    })(req, res, next) 
}); 
Смежные вопросы