Restsharp en Windows Phone con parámetros de solicitud
-
13-12-2019 - |
Pregunta
Estoy trabajando en Windows Phone Client para un servicio con OAUTH1 API.
en API docs Tengo algo como esto:
url: http://example.com/iphone/json/users/
method: GET
Parámetros: Page_NUM= [INT] - Número de página,>= 1, Predeterminado= 1.
Para la página predeterminada Núm. Todo funciona bien:
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)
{
Cuando ejecuto esta solicitud recibo la respuesta correcta con los datos. Pero si agrego parámetro (descompuesto tokenrequest.addparameter ("page_num", 2);) Recibo "firma inválida".He intentado enviar tanto el parámetro int como la cadena.
var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);
TokenRequest.AddParameter("page_num", 2);
HabraClient.ExecuteAsync(TokenRequest, (response =>
{
try
{
if (response.StatusCode == HttpStatusCode.OK)
{
Recibo mensaje "Firma inválida".Yo también he intentado un parámetro de cadena:
TokenRequest.AddParameter("page_num", "2");
El proveedor API me dijo, que tengo un problema con la base de la firma cadena http://oauth.net/core/1.0/#sig_base_example Entonces, ¿cómo puedo verlo?O tal vez puedes ayudarme a resolver todo esto. ¿problema?
Solución
Creo que estás rompiendo la estructura de la solicitud ... mejor para verificar la solicitud sobre el violinista, pero trata de escribir algo como
var TokenRequest = new RestRequest("/iphone/json/users/?page_num=2", Method.GET);
en lugar de
var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);
TokenRequest.AddParameter("page_num", 2);
espero, ayudaría.