2012-11-12 63 views
1

我有下面的代碼。在第一階段(獲取OAuth令牌)一切正常,但在回調(在獲取訪問令牌期間),我得到簽名無效的錯誤。有沒有人可以幫我解答我做錯了什麼?LinkedIn的訪問令牌請求 - 簽名無效

 public ActionResult LinkedInTest(string text) 
    { 
     var credentials = new OAuthCredentials 
           { 
            CallbackUrl = "http://localhost:60739/Calendar/Callback", 
            ConsumerKey = ApiKey, 
            ConsumerSecret = ApiSecret, 
            Verifier = "123456", 
            Type = OAuthType.RequestToken 
           }; 

     var client = new RestClient {Authority = "https://api.linkedin.com/uas/oauth", Credentials = credentials}; 
     var request = new RestRequest {Path = "requestToken"}; 
     RestResponse response = client.Request(request); 

     token = response.Content.Split('&')[0].Split('=')[1]; 
     textToPost = text; 
     Response.Redirect("https://api.linkedin.com/uas/oauth/authorize?oauth_token=" + token); 
     return null; 
    } 

    public ActionResult Callback() 
    { 
     token = Request["oauth_token"]; 
     verifier = Request["oauth_verifier"]; 
     var credentials = new OAuthCredentials 
           { 
            ConsumerKey = ApiKey, 
            ConsumerSecret = ApiSecret, 
            Token = token, 
            TokenSecret = "", 
            Verifier = verifier, 
            Type = OAuthType.AccessToken, 
            ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader, 
            SignatureMethod = OAuthSignatureMethod.HmacSha1, 
            Version = "1.0" 
           }; 

     var client = new RestClient 
         { 
          Authority = "https://api.linkedin.com/uas/oauth", 
          Credentials = credentials, 
          Method = WebMethod.Post 
         }; 
     var request = new RestRequest {Path = "accessToken"}; 
     RestResponse response = client.Request(request); 
     return Content(response.Content); 
    } 

回答