Example #1
0
        public static async System.Threading.Tasks.Task <string> GetFullNameAsync(string emailAddress)
        {
            var requestUri = GetHash(emailAddress) + ".json";

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://www.gravatar.com/");
                client.DefaultRequestHeaders.Add("User-Agent", "TodoApp");

                try
                {
                    var response = await client.GetAsync(requestUri);

                    if (response.IsSuccessStatusCode)
                    {
                        var responseString = await response.Content.ReadAsStringAsync();

                        dynamic json            = JsonConvert.DeserializeObject(responseString);
                        var     gravatarProfile = new GravatarProfile()
                        {
                            DisplayName = json.entry[0].displayName
                        };
                        return(gravatarProfile.DisplayName);
                    }
                    else
                    {
                        return(string.Empty);
                    }
                }
                catch (Exception e)
                {
                    return(string.Empty);
                }
            }
        }
        public static string GetUserName(string hash)
        {
            var gravatarProfileUrl = $"https://www.gravatar.com/{hash}.json";

            try
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Add("User-Agent", "Storm Ideas rules the world");

                HttpResponseMessage response = client.GetAsync(gravatarProfileUrl).Result;
                response.EnsureSuccessStatusCode();
                string          responseBody = response.Content.ReadAsStringAsync().Result;
                GravatarProfile p            = JsonConvert.DeserializeObject <GravatarProfile>(responseBody);

                return(p.Entry.FirstOrDefault()?.DisplayName);
            }
            catch (HttpRequestException e)
            {
                // Log exception
            }

            return(string.Empty);
        }