Obtenir l'authentification de HITBOX.TV avec RESTSHARP - Mauvaise demande?
-
21-12-2019 - |
Question
J'essaie d'obtenir un jeton hitbox Auth pour comme 2 jours, mais il suffit de recevoir la même erreur: "mauvaise demande" et comme contenu de réponse "auth__failed". Tout ce que j'ai trouvé dans l'énorme internet n'aidait pas.: C
Alors .. J'utilise RestShaRP, qui a fonctionné bien pour les demandes d'URL HTTP normales (Yey ...)
La documentation de HITBOX est assez courte ( http://developers.hitbox.tv/Token )... Donc, pas beaucoup d'aide là-bas
(Je sais qu'il y a beaucoup de questions sur ce sujet, essayé la plupart, mais toujours la même réponse ...)
C'est donc mon code 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);
}
comme je l'ai dit.Essayé beaucoup, mais pour l'instant, j'ai minimisé le code au code d'origine.
Merci d'avance.:)
La solution
Enfin j'ai trouvé un moyen de le faire.C'est beaucoup plus facile que je pensais d'abord.
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);
}
Maintenant, le jeton Auth peut être trouvé dans la réponse ...
Eh bien, la valeur "App" est manquante.J'ai donc étudié dans les fichiers source de RESTSHARP et j'ai trouvé cette solution:
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);
}
Eh bien c'est codant ... XD