public async Task <Album> GetAlbumInfo(string albumTitle, string artistName) { try { var lastFmClient = new HttpClient(); // Get users language/region // If their region is not support by LastFM, it won't return an artist biography. var region = new Windows.Globalization.GeographicRegion(); string url = string.Format( "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&artist={1}&album={3}&api_key={0}&format=json&lang={2}", MusicMDFetcher.ApiKeyLastFm, artistName, region.Code.ToLower(), albumTitle); var reponse = await lastFmClient.GetStringAsync(new Uri(url)); { var albumInfo = JsonConvert.DeserializeObject <AlbumInformation>(reponse); if (albumInfo == null) { return(null); } if (albumInfo.Album == null) { return(null); } var album = new Album(); album.MapFrom(albumInfo.Album); return(album); } } catch (Exception ex) { Debug.WriteLine(string.Format("Failed to get artist biography from LastFM. Returning nothing. {0}", ex)); } return(null); }
public async Task <Album> GetAlbumInfo(string albumTitle, string artistName) { try { var deezerClient = new HttpClient(); string json = await deezerClient.GetStringAsync(new Uri(string.Format("http://api.deezer.com/search/album?q={0} {1}&appid={2}", albumTitle, artistName, MusicMDFetcher.DeezerAppId))); if (json == "{\"data\":[],\"total\":0}") { return(null); } var deezerAlbums = JsonConvert.DeserializeObject <Albums>(json); if (deezerAlbums.Data != null) { var deezerAlbum = deezerAlbums.Data.FirstOrDefault(); var album = new Album(); album.MapFrom(deezerAlbum); return(album); } } catch (Exception e) { Debug.WriteLine("DeezerClient.GetAlbumInfo", e); } return(null); }
public async Task <List <Album> > GetArtistTopAlbums(string artistId) { try { var deezerClient = new HttpClient(); string json = await deezerClient.GetStringAsync(new Uri(string.Format("http://api.deezer.com/artist/{0}/albums?appid={1}", artistId, MusicMDFetcher.DeezerAppId))); var deezerAlbums = JsonConvert.DeserializeObject <Albums>(json); if (deezerAlbums == null) { return(null); } if (deezerAlbums.Data == null) { return(null); } var albumList = new List <Album>(); foreach (var deezerAlbum in deezerAlbums.Data) { var album = new Album(); album.MapFrom(deezerAlbum); albumList.Add(album); } return(albumList); } catch (Exception e) { Debug.WriteLine("DeezerClient.GetArtistTopAlbums", e); } return(null); }
/// <summary> /// Retreve a collection of top albums by an artist via LastFmClient. /// </summary> /// <param name="name">The artists name.</param> /// <returns>A list of Albums.</returns> public async Task <List <Album> > GetArtistTopAlbums(string name) { try { Debug.WriteLine("Getting TopAlbums from LastFM API"); var lastFmClient = new HttpClient(); var response = await lastFmClient.GetStringAsync(new Uri(string.Format("http://ws.audioscrobbler.com/2.0/?method=artist.gettopalbums&limit=8&format=json&api_key={0}&artist={1}", MusicMDFetcher.ApiKeyLastFm, name))); var albums = JsonConvert.DeserializeObject <TopAlbumInformation>(response); Debug.WriteLine("Receive TopAlbums from LastFM API"); if (albums == null) { return(null); } var albumList = albums.TopAlbums.Album; if (albumList == null) { return(null); } var formattedAlbumList = new List <Album>(); foreach (var topAlbum in albumList) { var album = new Album(); album.MapFrom(topAlbum); formattedAlbumList.Add(album); } return(formattedAlbumList); } catch { Debug.WriteLine("Error getting top albums from artist."); } return(null); }
public async Task<Album> GetAlbumInfo(string albumTitle, string artistName) { try { var deezerClient = new HttpClient(); string json = await deezerClient.GetStringAsync(new Uri(string.Format("http://api.deezer.com/search/album?q={0} {1}&appid={2}", albumTitle, artistName, MusicMDFetcher.DeezerAppId))); if (json == "{\"data\":[],\"total\":0}") { return null; } var deezerAlbums = JsonConvert.DeserializeObject<Albums>(json); if (deezerAlbums.Data != null) { var deezerAlbum = deezerAlbums.Data.FirstOrDefault(); var album = new Album(); album.MapFrom(deezerAlbum); return album; } } catch (Exception e) { Debug.WriteLine("DeezerClient.GetAlbumInfo", e); } return null; }
public async Task<List<Album>> GetArtistTopAlbums(string artistId) { try { var deezerClient = new HttpClient(); string json = await deezerClient.GetStringAsync(new Uri(string.Format("http://api.deezer.com/artist/{0}/albums?appid={1}", artistId, MusicMDFetcher.DeezerAppId))); var deezerAlbums = JsonConvert.DeserializeObject<Albums>(json); if (deezerAlbums == null) return null; if (deezerAlbums.Data == null) return null; var albumList = new List<Album>(); foreach (var deezerAlbum in deezerAlbums.Data) { var album = new Album(); album.MapFrom(deezerAlbum); albumList.Add(album); } return albumList; } catch (Exception e) { Debug.WriteLine("DeezerClient.GetArtistTopAlbums", e); } return null; }
/// <summary> /// Retreve a collection of top albums by an artist via LastFmClient. /// </summary> /// <param name="name">The artists name.</param> /// <returns>A list of Albums.</returns> public async Task<List<Album>> GetArtistTopAlbums(string name) { try { Debug.WriteLine("Getting TopAlbums from LastFM API"); var lastFmClient = new HttpClient(); var response = await lastFmClient.GetStringAsync(new Uri(string.Format("http://ws.audioscrobbler.com/2.0/?method=artist.gettopalbums&limit=8&format=json&api_key={0}&artist={1}", MusicMDFetcher.ApiKeyLastFm, name))); var albums = JsonConvert.DeserializeObject<TopAlbumInformation>(response); Debug.WriteLine("Receive TopAlbums from LastFM API"); if (albums == null) return null; var albumList = albums.TopAlbums.Album; if (albumList == null) return null; var formattedAlbumList = new List<Album>(); foreach (var topAlbum in albumList) { var album = new Album(); album.MapFrom(topAlbum); formattedAlbumList.Add(album); } return formattedAlbumList; } catch { Debug.WriteLine("Error getting top albums from artist."); } return null; }
public async Task<Album> GetAlbumInfo(string albumTitle, string artistName) { try { var lastFmClient = new HttpClient(); // Get users language/region // If their region is not support by LastFM, it won't return an artist biography. var region = new Windows.Globalization.GeographicRegion(); string url = string.Format( "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&artist={1}&album={3}&api_key={0}&format=json&lang={2}", MusicMDFetcher.ApiKeyLastFm, artistName, region.Code.ToLower(), albumTitle); var reponse = await lastFmClient.GetStringAsync(new Uri(url)); { var albumInfo = JsonConvert.DeserializeObject<AlbumInformation>(reponse); if (albumInfo == null) return null; if (albumInfo.Album == null) return null; var album = new Album(); album.MapFrom(albumInfo.Album); return album; } } catch (Exception ex) { Debug.WriteLine(string.Format("Failed to get artist biography from LastFM. Returning nothing. {0}", ex)); } return null; }