获得谷歌账户信息后,在我的网站与谷歌登录登录(使用卫星库登录)



我使用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);
});

相关内容

  • 没有找到相关文章

最新更新