Ottenere il token auth da hitbox.tv con restsharp - cattiva richiesta?
-
21-12-2019 - |
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.:)
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