RestSharp su Windows Phone con parametri di richiesta
-
13-12-2019 - |
Domanda
Sto lavorando al client Windows Phone per un servizio con OAUTH1 API.
In API Documenti Ho qualcosa di simile:
url: http://example.com/iphone/json/users/
method: GET
Parametri: Pagina_Num= [INT] - Numero di pagina,>= 1, impostazione predefinita= 1.
Per la pagina predefinita NUM tutto funziona bene:
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)
{
.
Quando eseguo questa richiesta ricevo una risposta corretta con i dati. Ma se aggiungo parametro (uncomment tokenrequest.addparameter ("Page_num", 2);) ricevo "Signature non valida".Ho provato a inviare sia il parametro INT e Stringe.
var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);
TokenRequest.AddParameter("page_num", 2);
HabraClient.ExecuteAsync(TokenRequest, (response =>
{
try
{
if (response.StatusCode == HttpStatusCode.OK)
{
.
Ricevo il messaggio "Signature non valida".Ho provato anche il parametro stringa:
TokenRequest.AddParameter("page_num", "2");
.
Provider API mi ha detto che ho un problema con la base della firma stringa http://oauth.net/core/1.0/#SIG_BASE_Example Quindi, come posso vederlo?O forse puoi aiutarmi a risolvere tutto questo problema?
Soluzione
Penso che tu stia rompendo la struttura della richiesta ... meglio controllare la richiesta su Fiddler, ma prova a scrivere qualcosa come
var TokenRequest = new RestRequest("/iphone/json/users/?page_num=2", Method.GET);
.
invece di
var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);
TokenRequest.AddParameter("page_num", 2);
.
Spero, aiuterebbe.