public MainPage() { this.InitializeComponent(); //visualizzo l'uri da impostare su Azure per il redirect redirectUriText.Text = OfficeHelper.GetRedirectUri(); }
private async void getInfoButton_Click(object sender, RoutedEventArgs e) { var userData = await OfficeHelper.GetMyInfoAsync(); givennameText.Text = $"Nome: {userData.givenName}"; surnameText.Text = $"Cognome {userData.surname}"; emailText.Text = $"E-mail: {userData.mail}"; }
/// <summary> /// Restituisce i dati dell'utente /// </summary> public static async Task <Microsoft.Graph.User> GetMyInfoAsync() { //JObject jResult = null; try { HttpClient client = new HttpClient(); var token = await OfficeHelper.GetTokenAsync(); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); // Endpoint dell'utente loggato Uri usersEndpoint = new Uri($"{serviceEndpoint}me"); HttpResponseMessage response = await client.GetAsync(usersEndpoint); if (response.IsSuccessStatusCode) { string responseContent = await response.Content.ReadAsStringAsync(); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Microsoft.Graph.User>(responseContent)); } else { var msg = new MessageDialog("Non è stato possibile recuperare i dati dell'utente. Risposta del server: " + response.StatusCode); await msg.ShowAsync(); return(null); } } catch (Exception e) { var msg = new MessageDialog("Si è verificato il seguente errore: " + e.Message); await msg.ShowAsync(); return(null); } }