Domanda

Sto cercando di ottenere un token autunnale di Hitbox per come 2 giorni, ma ancora solo ottenere lo stesso errore: "cattiva richiesta" e come contenuto di risposta "Auth_Failed". Tutto quello che ho trovato nell'enorme internet non ha aiutato.: C

Allora .. Sto usando RestSharp, che ha funzionato bene per le normali richieste di URL HTTP (Yey ...)

La documentazione per Hitbox è piuttosto breve ( http://developers.hitbox.tv/token )... Quindi non molto aiuto lì

(So che ci sono molte domande di questo argomento là fuori, provato di più, ma ancora la stessa risposta ...)

Quindi questo è il mio codice 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);
  }
.

come ho detto.Ho provato molto, ma per ora ho ridotto al minimo il codice al codice originale.

Grazie in anticipo.:)

È stato utile?

Soluzione

Alla fine ho trovato un modo per farlo.È molto più facile di quanto pensassi prima.

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);
}
.

Ora il token dell'auth può essere trovato nella risposta ...

Bene, il valore "App" manca.Così ho ricercato nei file sorgente di RestSharp e ho trovato questa soluzione:

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);
}
.

Beh, è la codifica ... XD

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top