示例#1
0
        public MainPage()
        {
            this.InitializeComponent();

            //visualizzo l'uri da impostare su Azure per il redirect
            redirectUriText.Text = OfficeHelper.GetRedirectUri();
        }
示例#2
0
        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}";
        }
示例#3
0
        /// <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);
            }
        }