2013-08-26 3 views
2

Я хочу получить доступ к user_name/email_id пользователя, который регистрируется на моем сайте с использованием API Google+. До сих пор я реализовал API Google+ и возвращаемое значение:Получить адрес электронной почты/имя пользователя после входа в систему с помощью API Google+

User Logged In This is his auth tokenya29.AHES6ZRWhuwSAFjsK9jYQ2ZA73jw9Yy_O2zKjmzxXOI8tT6Y 

Как я могу использовать это, чтобы получить имя пользователя/электронный идентификатор?

ответ

1

если вы правильно вошли в систему, этого достаточно, чтобы вызвать API Google+ по этому адресу:

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

где userId имеет особое значение me, чтобы получить всю информацию о записанном пользователя. Для получения дополнительной информации см: https://developers.google.com/+/api/latest/people/get

2

Специально для получения электронной почты аутентифицированного пользователя, имейте в виду, что вам нужно будет включить область userinfo.email и сделать вызов к tokeninfo конечной точке. Для получения дополнительной информации об этом см. https://developers.google.com/+/api/oauth#scopes.

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' 
         }); 
        }); 
     }); 
Смежные вопросы