我使用satellizer和节点服务器登录我的网站与google sing in。
我已经成功登录并在mongodb数据库中添加了以下数据。
{
"_id" : ObjectId("57adec45a8fb51401c1ba843"),
"displayName" : "xyz user",
"picture" : "https://lh3.googleusercontent.com/-xxxxxxx_xx/xxxxxx/xxxxxxx/xxxxxxx/photo.jpg?sz=200",
"google" : "100379763204xxxxxxxxx", //user id
"__v" : 0
}
现在,我想从谷歌帐户获得其他信息,如性别,电话号码,位置等…
那么,如何从谷歌帐户获取登录用户的所有信息?
并非所有这些信息实际上都是可用的。这还取决于用户是否将信息设置为公开。
如果你使用People: get方法,它将返回一个person资源resource。假设用户公开了这些信息,您应该可以看到您所需要的信息。这个方法是Google+ api的一部分,所以它只会在用户有Google+帐户的情况下工作。
还有People API,它倾向于返回类似People .get的信息。我不确定这个信息到底是从哪里来的。它似乎与用户的Google帐户有关,而不是Google+帐户。
我终于成功了,这就是我的解决方案:
getGoogleDatas: function (id) {
return $http.get("https://www.googleapis.com/oauth2/v1/userinfo", {
params: {
access_token: $auth.getToken(),
alt: 'json'
}
});
}
然后:
getGoogleDatas().then(function (response) {
user = response;
}).catch(function (error) {
console.log('error:', error);
});