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); }