/// <summary> /// Get an artists music videos. /// </summary> /// <param name="artist">The artists EchoNest Entity.</param> /// <returns>A list of music videos.</returns> public async Task<List<Video>> GetArtistsVideos(EchoNest.Artist artist) { try { var echonestClient = new HttpClient(); var response = await echonestClient.GetStringAsync( new Uri( string.Format("http://developer.echonest.com/api/v4/artist/video?api_key={0}&id={1}&format=json&start=0", ApiKey, artist.Id))); var artistVideos = JsonConvert.DeserializeObject<Videos>(response); if (artistVideos == null) return null; return artistVideos.Response == null ? null : artistVideos.Response.Video.ToList(); } catch (Exception) { Debug.WriteLine("Error parsing echonest data."); } return null; }
/// <summary> /// Get an artists Twitter Handle. /// </summary> /// <param name="artist">An artists EchoNest Entity.</param> /// <returns>A twitter handle.</returns> public async Task<string> GetArtistsTwitterHandle(EchoNest.Artist artist) { try { var echonestClient = new HttpClient(); var response = await echonestClient.GetStringAsync( new Uri( string.Format("http://developer.echonest.com/api/v4/artist/twitter?api_key={0}&id={1}", ApiKey, artist.Id))); var artistTwitterResult = JsonConvert.DeserializeObject<Twitter>(response); if (artistTwitterResult == null) return null; if (artistTwitterResult.Response.Artist == null) return null; var topResult = artistTwitterResult.Response.Artist; return topResult == null ? null : topResult.Twitter; } catch (Exception) { Debug.WriteLine("Error parsing echonest data."); } return null; }