private async void btnFace_Clicked(object sender, EventArgs e) { var accounts = _services.Accounts; if (accounts.Contains(LoginServices.Facebook)) { var access_token = _services.GetPropertyFromAccount(LoginServices.Facebook, "access_token"); var fbUri = new Uri("https://graph.facebook.com/me?fields=first_name,last_name,picture,age_range,email,gender,is_verified&access_token=" + access_token); var httpClient = new HttpClient(new LoggingHandler(new HttpClientHandler())); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("token", access_token); var response = await httpClient.GetAsync(fbUri); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); var a = (JObject)JsonConvert.DeserializeObject(content); usuariosService = new UsuariosService(); var resultado = await usuariosService.PostUsuarioFaceAsync(content); if (resultado == "added" || resultado == "logged") { UsuariosEventosService usuariosEventosService = new UsuariosEventosService(); UsuariosEventos usuariosEventos = new UsuariosEventos(); SesionService sesionService = new SesionService(); var idUsuarios = await sesionService.GetSesionIdUserDbAsync(); usuariosEventos.idEvento = evento.idEventos; usuariosEventos.idUsuario = idUsuarios; var resultadoUE = await usuariosEventosService.setUsuarioEvento(usuariosEventos); Navigation.InsertPageBefore(new DetalleEventoPage(evento), this); await Navigation.PopAsync(); } var login = a["fisrt_name"]; var image = "https://graph.facebook.com/me/picture?access_token=" + access_token; } } else { AuthorizePage authorizePage = new AuthorizePage(LoginServices.Facebook, this); var waitHandle = new EventWaitHandle(false, EventResetMode.AutoReset); authorizePage.Disappearing += (sender2, e2) => { ExtraerInfoFacebook(); }; await Navigation.PushAsync(authorizePage); } }
async Task ViewGitHubProfile(HttpClient httpClient) { var uri = new Uri("https://api.github.com/user"); var access_token = _services.GetPropertyFromAccount(Services.GitHub, "access_token"); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("token", access_token); httpClient.DefaultRequestHeaders.Add("User-Agent", "AB"); var response = await httpClient.GetAsync(uri); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); var a = (JObject)JsonConvert.DeserializeObject(content); var login = a["login"]; var image = a["avatar_url"]; await Navigation.PushAsync(new ProfilePage(Services.GitHub, login.ToString(), image.ToString())); } }