2012-03-13 4 views
1

Oauth1 API가있는 하나의 서비스에 대해 Windows 전화 클라이언트에서 작업하고 있습니다.요청 매개 변수가있는 Windows Phone의 RestSharp

url: http://example.com/iphone/json/users/

method: GET

매개 변수 : API 문서에서

나는 이런 식으로 뭔가가 PAGE_NUM =를 [INT] - 페이지 번호,> = 1, 기본 = 1. 기본 페이지는 num 모두를위한

잘 작동 :

 RestClient HabraClient = new RestClient("http://habrahabr.ru"); 
     HabraClient.Authenticator = OAuth1Authenticator.ForProtectedResource("xxx", "yyyyyy", App.Tokens.Key, App.Tokens.Secret); 
     var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET); 

     HabraClient.ExecuteAsync(TokenRequest, (response => 
     { 
      try 
      { 
       if (response.StatusCode == HttpStatusCode.OK) 
       { 

내가이 요청을 실행하면 내가 데이터와 정확한 응답을받을 수 있습니다. 그러나 매개 변수를 추가하면 (TokenRequest.AddParameter ("page_num", 2); 주석 처리 해제) "잘못된 서명"이 표시됩니다. int와 string 매개 변수를 모두 보내려고했습니다.

 var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET); 

     TokenRequest.AddParameter("page_num", 2); 

     HabraClient.ExecuteAsync(TokenRequest, (response => 
     { 
      try 
      { 
       if (response.StatusCode == HttpStatusCode.OK) 
       { 

"잘못된 서명"이라는 메시지가 나타납니다. 나도 문자열 매개 변수를 시도 :

 TokenRequest.AddParameter("page_num", "2"); 

API 제공자가 내가 그것을 어떻게 볼 수 있습니다, 내가 문자열 http://oauth.net/core/1.0/#sig_base_example 그래서 기반 서명에 문제가 있다는 얘기? 아니면이 모든 문제를 해결할 수 있도록 도울 수 있습니까? 문제가 있습니까?

+1

작업 버전과 작동하지 않는 버전의보다 완벽한 예를 게시 할 수 있습니까? –

+0

서명을 어떻게 생성합니까? –

+0

John, 게시글을 업데이트했습니다. 매트, 서명이 API에 의해 생성되고 디버거에서 그것을 보는 방법을 찾으려고합니다. – Ponf

답변

0

는 나는 그것이 도움이 될 것이다, 당신이 피들러를 통해 요청을 확인하지만,

var TokenRequest = new RestRequest("/iphone/json/users/?page_num=2", Method.GET); 

대신

var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET); 

TokenRequest.AddParameter("page_num", 2); 

희망 같은 것을 작성하려고하는 ... 더 요청 구조를 깨는 생각 .

+0

고마워요! 그것은 작동합니다! – Ponf