Restsharp на Windows Phone с параметрами запроса
-
13-12-2019 - |
Вопрос
Я работаю над клиентом 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);
.
Надеюсь, это поможет.