Я работаю на клиенте Windows Phone для одного сервиса с Oauth1 API.
В документах 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)
{
Когда я выполняю этот запрос, я получаю правильный ответ с данными.Но если я добавлю параметр (раскомментируйте TokenRequest.AddParameter ("page_num", 2);), я получу "Недопустимая подпись".Я попытался отправить как int, так и строковый параметр.
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 Итак, как мне ее просмотреть?Или, может быть, вы можете помочь мне решить эту проблему?