2012-03-13 6 views
1

私は、Oauth1 APIを備えた1つのサービスのWindows電話クライアントで作業しています。ページ番号、> = 1、デフォルト= 1 - PAGE_NUM = [INT]:リクエストパラメータ付きWindows Phone RestSharp

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

method: GET

パラメータ:私はこのような何かを持っているAPIドキュメントで

。デフォルトページの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);コメントを外す)、私は "Invalid signature"を受け取ります。私は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

ジョン、私はポストを更新しました。 Matt、署名はAPIによって生成され、私はデバッガでそれを見る方法を見つけることを試みています:) – Ponf

答えて

0

私はバイオリンを超える要求をチェックし、代わりに

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

TokenRequest.AddParameter("page_num", 2); 

希望の

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

のようなものを書いてみる方が良い...あなたはリクエスト構造を破壊していると思う、それが役立つだろう。

+0

ありがとう!できます! – Ponf

関連する問題