2011-02-01 7 views
0

C#에서 Windows Live SDK를 사용하여 oAuth 토큰을 가져 오기 위해 나머지 서비스를 직접 호출하려고하지만 대신 401 오류가 발생합니다. 무단으로.Windows Live SDK 인증

내 응용 프로그램을 https://manage.dev.live.com/에 데스크톱 응용 프로그램으로 등록하고 게시하여 내 클라이언트 ID와 비밀 키를 가지고 있습니다.

내 데스크톱 응용 프로그램에서 실시간 로그인 용 인터넷 탐색기 창을 열어 내 인증 코드를 얻습니다. 내가 잘못 무엇

try 
{ 
    string requestUrl = "https://consent.live.com/AccessToken.aspx"; 

    // Request the access token. 
    string postData = string.Format("wrap_client_id={0}&wrap_client_secret={1}&wrap_verification_code={2}", 
             clientId, 
             secretKey, 
             verificationCode); 

    postData = HttpUtility.UrlEncode(postData); 
    byte[] postDataEncoded = System.Text.Encoding.UTF8.GetBytes(postData); 

    WebRequest req = HttpWebRequest.Create(requestUrl); 
    req.Method = "POST"; 
    req.ContentType = "application/x-www-form-urlencoded"; 
    req.ContentLength = postDataEncoded.Length; 

    Stream requestStream = req.GetRequestStream(); 
    requestStream.Write(postDataEncoded, 0, postDataEncoded.Length); 

    WebResponse res = req.GetResponse(); 

    string responseBody = null; 

    using (StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8)) 
    { 
     responseBody = sr.ReadToEnd(); 
    } 

    // Process FORM POST. 
    NameValueCollection responseCollection = System.Web.HttpUtility.ParseQueryString(responseBody); 

    return responseCollection["wrap_access_token"]; 
} 
catch (Exception ex) 
{ 
    throw ex; 
} 

:이 방법에 AccessToken.aspx를 호출하는 코드, 비밀 키와 클라이언트 ID와

?

제공된 도움말을 미리 감사드립니다.

답변