Obter autenticação de token de hitbox.tv com Restsharp - Solicitação incorreta?
-
21-12-2019 - |
Pergunta
Eu estou tentando chegar a um hitbox de autenticação de token para os 2 dias, mas ainda obtendo apenas o mesmo Erro:"Bad Request" e como o conteúdo da resposta "auth_failed".Tudo que eu encontrei na Internet não ajuda.:C
Então..Eu estou usando Restsharp, que funcionou bem para o HTTP normal solicitações de URL (yey ...)
A documentação para hitbox é muito curto (http://developers.hitbox.tv/token) ...isso não ajuda muito não
(Eu sei que existem muitas perguntas deste Tópico lá fora, tentei mais, mas ainda a mesma resposta...)
Então esse é o meu Código de 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 eu disse.Tentei muito, mas agora eu minimizado o Código para o Código original.
Obrigado antecipadamente.:)
Solução
Finalmente, eu encontrei uma maneira de fazê-lo.É muito mais fácil do que eu imaginava.
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);
}
Agora, a autenticação de token pode ser encontrado na resposta...
Bem, o "aplicativo" valor está em falta.Assim, pesquisei nos arquivos de origem de Restsharp e encontrei esta solução:
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);
}
Bem, essa é a codificação ...xD