Como usar RestSharp para autenticação do Google?
-
14-11-2019 - |
Pergunta
Eu criei um aplicativo para Windows Phone 7 com a função "fazer login com o Google".A biblioteca do Google não é compatível com o tempo de execução do Windows Phone, então escolho RestSharp.
O aplicativo recebeu com sucesso um código de autenticação do Google e a próxima etapa é trocar o código por um token de acesso e um token de atualização.Aqui encontrei algum problema.
var request = new RestRequest(this.TokenEndPoint, Method.POST);
request.AddParameter("code", code);
request.AddParameter("client_id", this.ClientId);
request.AddParameter("client_secret", this.Secret);
request.AddParameter("redirect_uri", "http://localhost");
request.AddParameter("grant_type", "authorization_code");
client.ExecuteAsync<???>(request, (response) =>
{
var passIn = response;
}); // how to use this method?
Não tenho certeza de como usar o client.ExecuteAsync<T>
método (ou qualquer outro seria útil) para obter a resposta do Google.Existe algum outro código pré-solicitado para eu usar esse método?Alguém pode me ajudar?
Solução
Você precisa vincular um elemento da UI para exibir a resposta.Essa parece ser a essência do problema que você descreveu.
Se quiser exibir a resposta em seu aplicativo, você deve ter um elemento de UI vinculado a uma estrutura de dados interna.
Exibindo a resposta
// em xaml, por exemplo MainPage.xaml
<TextBox x:Name="myResponseTextBox">
// no MainPage.xaml.cs correspondente
client.ExecuteAsync(request, (response) =>
{
myResponseTextBox.text = response.Content;
});
A caixa de texto exibirá o resultado do retorno de chamada quando ele completa.
Outras dicas
tentar:
client.ExecuteAsync(request, (response) =>
{
var dataToBeParsed = response.Content;
});