2

我想访问使用 Google+ API 登录我网站的用户的user_name/ 。email_id到目前为止,我已经实现了 Google+ API,返回值为:

User Logged In This is his auth tokenya29.AHES6ZRWhuwSAFjsK9jYQ2ZA73jw9Yy_O2zKjmzxXOI8tT6Y

如何使用它来获取用户名/电子邮件 ID?

4

3 回答 3

2

特别是为了检索经过身份验证的用户的电子邮件地址,请记住,您需要包含 userinfo.email 范围并调用 tokeninfo 端点。有关这方面的更多信息,请参阅https://developers.google.com/+/api/oauth#scopes

于 2013-08-27T20:26:45.623 回答
1

如果您正确登录,则在此 URL 调用 Google+ api 就足够了:

GET https://www.googleapis.com/plus/v1/people/me

其中userId具有特殊值me,以获取有关已登录用户的所有信息。有关更多信息,请参阅: https ://developers.google.com/+/api/latest/people/get

于 2013-08-26T10:01:52.887 回答
0

我正在添加一个代码示例来帮助其他人。

在这种情况下,登录操作是针对 Google 请求的电子邮件以及用户个人资料信息(如姓名、...)执行的。一旦检索到所有这些信息,就会执行对我自己的登录服务的请求:

        function OnGoogle_Login(authResult) {
                    if (authResult['access_token']) {
                        gapi.client.load('oauth2', 'v2', function()
                        {
                            gapi.client.oauth2.userinfo.get().execute(function(userData)
                            {
                                $("#frmLoginGoogle input[name='id']").val(userData.id);
                                $("#frmLoginGoogle input[name='name']").val(userData.name);
                                $("#frmLoginGoogle input[name='email']").val(userData.email);
                                $.ajaxSetup({cache: false});
                                $("#frmLoginGoogle").submit();
                            });
                        });
                    }
                }

        $(document).ready(function() {

            /** GOOGLE API INITIALIZATION **/
            $.ajaxSetup({cache: true});

            $.getScript("https://apis.google.com/js/client:platform.js", function() {
                            $('#btnLoginGoogle').removeAttr('disabled');
                        });

            $("#btnLoginGoogle").click(function() {
                        gapi.auth.signIn({
                            'callback': OnGoogle_Login,
                            'approvalprompt': 'force',
                            'clientid': 'XXXXX.apps.googleusercontent.com',
                            'scope': 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
                            'requestvisibleactions': '',
                            'cookiepolicy': 'single_host_origin'
                        });
                    });
        });
于 2015-04-14T14:26:59.653 回答