private JObject GetJObject(SpotifyUri uri, string extras = null)
        {
            string resp = GetWebApiResponse(BuildLookupUri(BaseUrls.Lookup, uri, extras));

            return JObject.Parse(resp);
        }
        private Uri BuildLookupUri(string baseUrl, SpotifyUri uri, string extras = null)
        {
            string url = string.Format("{0}?uri={1}", baseUrl, uri);

            if (extras != null)
            {
                url = url + "&extras=" + extras;
            }

            return new Uri(url);
        }
        /// <summary>
        /// Looks up an artist
        /// </summary>
        public Artist LookupArtist(SpotifyUri uri)
        {
            var jartist = GetJObject(uri, "albumdetail")["artist"];
            var artist = jartist.ToObject<Artist>();

            artist.Albums = jartist["albums"].Select(s => s["album"].ToObject<Album>()).ToList();

            return artist;
        }
 /// <summary>
 /// Looks up a track
 /// </summary>
 public Track LookupTrack(SpotifyUri uri)
 {
     return GetJObject(uri)["track"].ToObject<Track>();
 }
 /// <summary>
 /// Looks up an album
 /// </summary>
 public Album LookupAlbum(SpotifyUri uri)
 {
     return GetJObject(uri, "trackdetail")["album"].ToObject<Album>();
 }
        private JObject GetJObject(SpotifyUri uri, string extras = null)
        {
            string resp = GetWebApiResponse(BuildLookupUri(BaseUrls.Lookup, uri, extras));

            return(JObject.Parse(resp));
        }
 /// <summary>
 /// Looks up a track
 /// </summary>
 public Track LookupTrack(SpotifyUri uri)
 {
     return(GetJObject(uri)["track"].ToObject <Track>());
 }
 /// <summary>
 /// Looks up an album
 /// </summary>
 public Album LookupAlbum(SpotifyUri uri)
 {
     return(GetJObject(uri, "trackdetail")["album"].ToObject <Album>());
 }