Как получить данные из токена google api?

Я хочу использовать учетные данные для входа в Google на своем веб-сайте, поэтому я использую Google API. Я получаю токен API Google в URL. Итак, я хочу получить данные пользователя для входа в систему? Я использую C #. Я получил этот URL-адрес после успешного входа в систему и перенаправления обратно на свой веб-сайт: -

Пожалуйста, помогите мне.

Заранее спасибо.


person Bharat Bhushan    schedule 12.04.2012    source источник


Ответы (2)


Взгляните на эту библиотеку .Net

http://www.dotnetopenauth.net/

Это сделает за вас всю тяжелую работу с OpenID / OAuth. Вам просто нужно указать его на URL-адрес OpenID Google.

Запрос определенных пользовательских данных, таких как электронная почта, прост и объяснен здесь:

https://developers.google.com/accounts/docs/OpenID

person Tomas McGuinness    schedule 12.04.2012
comment
Здравствуйте, сэр. Прежде всего, большое спасибо за ответ. На самом деле я использую только Google ID, а не Open ID. И я хочу знать, как мы перенаправляем пользователя в Gmail и перенаправляем обратно в наше веб-приложение, и как мы получаем данные пользователя для входа в систему. Например, имя, фамилия, идентификатор электронной почты, идентификатор и т. Д. Еще раз спасибо за ответ. - person Bharat Bhushan; 13.04.2012
comment
Google ID - это реализация OpenID. Когда вы подключаетесь к Stack Overflow с помощью своей учетной записи GMail, вы можете войти в систему со своим идентификатором Google, а затем вернуться к Stack Overflow. Это то, что вы пытаетесь реализовать? - person Tomas McGuinness; 14.04.2012
comment
Да, сэр, и пытаюсь получить базовую информацию о пользователе, такую ​​как ID, FName, LName, Email, UserName и т. Д. Я использую платформу .net. Пожалуйста, помогите мне и ответьте как можно скорее. Спасибо за ответ. - person Bharat Bhushan; 17.04.2012
comment
Посмотрите эту статью Рика Стрэла - west-wind.com/weblog/posts/2009/Sep/17/ - вы сможете адаптировать это для использования Google OpenID. - person Tomas McGuinness; 17.04.2012

Используйте этот javascript на своей странице .aspx:

// First, parse the query string
var params = {}, queryString = location.hash.substring(1),
regex = /([^&=]+)=([^&]*)/g, m;
while (m = regex.exec(queryString)) {
  params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}

// And send the token over to the server
var req = new XMLHttpRequest();
// consider using POST so query isn't logged
req.open('GET', 'http://' + window.location.host + '/public/Google.aspx?' + queryString, true);

req.onreadystatechange = function (e) {
  if (req.readyState == 4) {
    if (req.status == 200) {
      window.location = params['state']
    }
    else if (req.status == 400) {
      alert('There was an error processing the token.')
    }
    else {
      alert('something else other than 200 was returned')
    }
  }
};
req.send(null);

Используйте его для вызова той же или другой страницы .aspx.

person Janus Kamp Hansen    schedule 31.05.2012