私は、Oauth1 API を使用して 1 つのサービスの Windows Phone クライアントに取り組んでいます。
API ドキュメントには、次のようなものがあります。
url: http://example.com/iphone/json/users/
method: GET
パラメータ: page_num=[int] - ページ番号、>=1、デフォルト=1。
デフォルトのページ番号の場合、すべてがうまく機能します:
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)
{
このリクエストを実行すると、データ付きの正しいレスポンスを受け取ります。しかし、パラメーターを追加すると (uncomment 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に問題があると言われた ので、どうすれば表示できますか? それとも、この問題をすべて解決するのを手伝ってもらえますか?