2010-03-28 5 views
2

Delicious는 사용자 이름과 비밀번호가있는 두 가지 API 인증 세트와 oAuth가있는 API 인증 세트 두 가지를 제공한다는 사실을 경험하게 될 것입니다. 불행히도 지금은 두 API를 다뤄야하고 API v2 (Yahoo oAuth)의 첫 번째 장애물을 통과하지 못했습니다. 여기 .NET의 맛있는 API 및 Yahoo! oAuth

는 코드 (I이 예에서는 오픈 소셜을 사용하고 http://code.google.com/p/opensocial-net-client) 내가 오픈 소셜에 휴가 http://delicious.com/help/oauthapi에서 자신의 지시를 따르는 경우는 문제가되지 않는 것 같습니다

public static string GetRequestToken(string callbackUrl) 
{ 
    string normaluri; 
    string normaluriparam; 
    OAuthBase oAuth = new OAuthBase(); 
    string nonce = oAuth.GenerateNonce(); 
    string timeStamp = oAuth.GenerateTimeStamp(); 
    string sig = oAuth.GenerateSignature(new Uri(TOKEN_URL), ConfigurationManager.AppSettings[CONSUMER_KEY], 
             ConfigurationManager.AppSettings[SECRET_KEY], 
             string.Empty, 
             string.Empty, 
             "GET", 
             timeStamp, 
             nonce, 
             OAuthBase.SignatureTypes.HMACSHA1, 
             out normaluri, 
             out normaluriparam); 
    sig = HttpUtility.UrlEncode(sig); 

    string result = 
     HttpClient.Get(TOKEN_URL, new 
             { 
              oauth_nonce = nonce, 
              oauth_timestamp = timeStamp, 
              oauth_consumer_key = ConfigurationManager.AppSettings[CONSUMER_KEY], 
              oauth_signature_method = "HMAC-SHA1", 
              oauth_signature = sig, 
              oauth_version = "1.0", 
              oauth_callback = callbackUrl 
             }); 

    return result; 
} 

이다, 나는 얻을 더 이상 정보없이 서버에서 "401 Unauthorized".

많은 사람들이 같은 문제가 있지만 해결 방법을 찾을 수없는 것을 볼 수 있습니다.

답변

1

대답은 "이 단계에 대한 HMAC-SHA1을 사용하지 않습니다. 또한 나는 내 서명에 callbackUrl를 포함하는 것을 잊었다.

+0

당신이 토큰을 가지고 후, 어떻게 당신이 폐쇄 알고 있지만, 당신이 무슨 짓을 한거야 당신은 그것으로 요청을합니까? –