2010-03-28 4 views
2

Тот факт, что у Delicious есть два набора аутентификаций API с именем пользователя и паролем, а один с oAuth рассказал мне что-то о вещах, которые я собираюсь испытать, и я не ошибся. К сожалению, мне приходится иметь дело с обоими API теперь и безуспешно, преодолевая первое препятствие API v2 (Yahoo oAuth).Вкусный API и Yahoo oAuth в .NET

Вот фрагмент кода (я использую OpenSocial в этом примере http://code.google.com/p/opensocial-net-client)

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; 
} 

Кажется, что это не имеет значения, если я следовать инструкциям на http://delicious.com/help/oauthapi себя от оставить его OpenSocial, я получаю «401 Unauthorized» с сервера без дополнительной информации.

Я вижу, что многие люди имеют одну и ту же проблему, но не смогли найти никакого разрешения.

ответ

1

Ответ «не использовать HMAC-SHA1 для этого этапа. Кроме того, я забыл включить CallBackURL в моей подписи.

+0

Я знаю, что вы закрыли, но что вы делали после того, как вы получили маркер, как вы делаете с ним запросы? –