2012-04-12 1 views
0

내 웹 사이트에서 Google 로그인 자격 증명을 사용하고 싶습니다. 그래서 Google API를 사용하고 있습니다. URL에 Google API 토큰이 있습니다. 그래서 로그인 사용자 데이터를 얻고 싶습니다. C#을 사용하고 있습니다. 나는이 URL 후 성공적으로 로그인 한 후 다시 내 웹 사이트에 리디렉션 가지고 : -이Google API 토큰에서 데이터를 가져 오는 방법은 무엇입니까?

http://localhost:20885/WebServices/Welcome.aspx#state=/profile&access_token=ya29.AHES6ZRERYieYZIclNxQp3cPeXDnNWMP4IQuhDaj-TO_4wX2eqziRg&token_type=Bearer&expires_in=3600

제발 도와주세요.

미리 감사드립니다.

답변

0

이 닷넷 라이브러리

http://www.dotnetopenauth.net/

이 당신을 위해 모든 무거운 오픈 ID/OAuth는 작업을 할 것입니다에서 살펴 보자. Google의 OpenID URL을 가리 키기 만하면됩니다.

이메일과 같은 특정 사용자 데이터를 요청, 쉽게 여기에 설명 :

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

+0

안녕하세요. 먼저 Response Me에 감사드립니다. 사실 Open ID가 아닌 Google ID 만 사용하고 있습니다. Gmail에서 사용자를 리디렉션하고 웹 응용 프로그램에서 다시 리디렉션하는 방법과 로그인 사용자 데이터를받는 방법을 알고 싶습니다. 이름, 성, 이메일 ID, ID 등 답장을 보내 주셔서 감사합니다. –

+0

Google ID는 OpenID를 구현 한 것입니다. Gmail 계정을 사용하여 스택 오버플로에 연결할 때 Google ID로 로그인하면 스택 오버플로로 돌아갑니다. 이게 당신이 구현하려고하는 것입니까? – tomasmcguinness

+0

예 선생님, ID, FName, LName, 이메일, 사용자 이름 등등과 같은 사용자 기본 정보를 얻으려고합니다 .net framework.Please 도와주세요. 응답을 주셔서 감사합니다. –

0

사용하여 .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 페이지.