es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El llamado GET de Restsharp funciona, pero el POST está no autorizado?

Estoy trabajando en un llamador de API de RestSharp para challonge.com y me he encontrado con un problema de autorización. Cuando hago una llamada GET, todo funciona correctamente y puedo adquirir la información que necesito. Sin embargo, al intentar una llamada POST, el código de estado devuelve “No autorizado”, a pesar de usar la misma clave de API. He intentado incluir la clave en el cuerpo de la solicitud y como parámetro, pero ninguno parece funcionar.

Aquí están las llamadas que estoy haciendo:

  • GET: https://api.challonge.com/v1/documents/tournaments/index

  • POST: https://api.challonge.com/v1/documents/tournaments/create

Y aquí está mi código.

“`C#
public class APICall
{
HttpUtility http = new HttpUtility();
RestClient client = new RestClient("https://api.challonge.com/v1/");
public string GetCall(string key)
{
client.AddDefaultHeader("Content-Type", "application/json");
RestRequest request = new RestRequest("tournaments", DataFormat.Json);
request.AddParameter("api_key", key);
IRestResponse response = client.Get(request);
return response.StatusCode.ToString();
}
public string PostCall(string tournName, string key)
{
client.AddDefaultHeader("Content-Type", "application/json");
RestRequest request = new RestRequest("tournaments", DataFormat.Json);
var obj = new Tournament(tournName, key);
//request.AddParameter("api_key", key);
request.AddJsonBody(obj);
IRestResponse response = client.Post(request);
return response.StatusCode.ToString();
}
}

<pre><code><br /></code></pre>

“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema que estás enfrentando está relacionado con la autenticación. Cuando realizas una llamada GET, puedes autenticarte correctamente con la clave de API, pero este no es el caso cuando realizas una llamada POST. Esto puede deberse al hecho de que las solicitudes POST requieren parámetros de autenticación adicionales que deben incluirse en los encabezados o cuerpo de la solicitud.

    Aquí hay algunos pasos que puedes seguir para solucionar el problema:

    1. Verifica la documentación de la API para asegurarte de que estás incluyendo todos los parámetros de autenticación requeridos en tu solicitud POST. Esto puede incluir una firma o un token además de la clave de API.
    2. Intenta enviar la solicitud POST utilizando una herramienta como Postman para verificar si puedes autenticarte correctamente. Si la solicitud funciona en Postman, entonces el problema puede estar en tu código.

    3. Verifica el cuerpo de la respuesta y los encabezados para ver si hay mensajes de error o información adicional sobre el fallo de autenticación. Esto puede darte algunas pistas sobre lo que está saliendo mal.

    Algunas cosas adicionales a tener en cuenta:

    • Asegúrate de que la clave de API que estás utilizando sea válida y esté activa.
    • Verifica nuevamente que el punto final y los parámetros que estás utilizando sean correctos.
    • Comprueba que tu conexión de red sea estable y no esté causando problemas con la solicitud.

    En general, parece que el problema está relacionado con la autenticación y deberás revisar la documentación de la API y tu código para asegurarte de que estás incluyendo todos los parámetros y encabezados requeridos para la solicitud POST.

Comments are closed.