Pregunta

Estoy tratando de obtener un token de autenticación de HitBox durante 2 días, pero aún así, solo obtendrá el mismo error: "Mala solicitud" y como contenido de respuesta "AUTH_FAILED". Todo lo que encontré en el enorme Internet no ayudó.: C

Entonces .. Estoy usando Restsharp, que funcionó bien para las solicitudes normales de URL HTTP (YEY ...)

La documentación para HitBox es bastante corta ( http://developers.hitbox.tv/token )... así que no hay mucha ayuda

(Sé que hay muchas preguntas de este tema, lo intenté más, pero aún así la misma respuesta ...)

Entonces, ese es mi código ATM:

  public static void GetAuthToken(object user)
  {
       var client = new RestClient();
       client.BaseUrl = "http://api.hitbox.tv/";

       var request = new RestRequest("auth/token", Method.POST) { RequestFormat = DataFormat.Json };
       request.AddBody("login=Zetter&pass=MyPassword&app=MyAppName");

       var response = client.Execute(request);
       Console.Out.WriteLine(response.StatusDescription);
       Console.Out.WriteLine(response.Content);
  }

como dije.Intenté mucho, pero por ahora minimicé el código de nuevo al código original.

gracias de antemano.:)

¿Fue útil?

Solución

Finalmente encontré una manera de hacerlo.Es mucho más fácil de lo que pensé por primera vez.

public static void GetAuthToken(object user)
{
    var client = new RestClient();
    client.BaseUrl = "http://api.hitbox.tv";
    client.Authenticator = new SimpleAuthenticator("login", "Zetter", "pass", "MyPassword");
    var request = new RestRequest("auth/token/", Method.POST);
    var response = client.Post(request);
}

Ahora se puede encontrar el token de autenticación en la respuesta ...

Falta el valor "APP".Así que investigué en los archivos de origen de RestSharp y encontré esta solución:

public static void GetAuthToken(object user)
{
    var client = new RestClient();
    client.BaseUrl = "http://api.hitbox.tv";

    var request = new RestRequest("auth/token/", Method.POST);
    request.AddParameter("login", "Zetter");
    request.AddParameter("pass", "MyPassword");
    request.AddParameter("app", "AppName");

    var response = client.Post(request);
}

Bueno, eso está codificando ... XD

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top