Вопрос

Я работаю над клиентом Windows Phone для одного сервиса с API OAUTH1.

в документах API У меня есть что-то подобное:

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

method: GET

Параметры

: 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.addDParameter («Page_num», 2);) Я получаю «Неверную подпись».Я пытался отправить как INT и String Parameter.

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

        TokenRequest.AddParameter("page_num", 2);

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

Я получаю сообщение «Неверная подпись».Я тоже попробовал String Parameter:

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

API Provider сказал мне, что у меня проблема с подписью string http://oauth.net/core/1.0/#sig_base_example Итак, как я могу посмотреть это?Или, может быть, вы можете помочь мне решить все это проблема?

Это было полезно?

Решение

Я думаю, что вы разбите структуру запроса ... лучше проверить запрос над Fiddler, но попробуйте написать что-то вроде

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);
.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top