コード例 #1
0
        public static List <TrackEntity> ExtractTracksFromResponse(TracksResponse response)
        {
            var responseItems = response.Items;

            var trackList = responseItems.Select(trackItem => trackItem.Track.Id)
                            .Select(id => new TrackEntity
            {
                SpotifyId = id,
                Rates     = new List <Rate>()
            })
                            .ToList();

            return(trackList);
        }
コード例 #2
0
        public string GetTracks([FromBody] GetTracksRequest request)
        {
            TracksResponse tracksResponse = new TracksResponse();
            List <Track>   tracks         = new List <Track>();
            WebClient      web            = new WebClient();

            web.Headers.Set("Authorization", $"Bearer {request.authToken}");
            JObject spotifyResponse = JObject.Parse(web.DownloadString(request.playlistUrl));
            JArray  items           = spotifyResponse["items"].ToObject <JArray>();

            foreach (JObject item in items)
            {
                Track track = new Track();
                track.TrackName  = item["track"]["name"].ToString();
                track.ArtistName = item["track"]["artists"][0]["name"].ToString();
                tracks.Add(track);
            }
            tracksResponse.nextUrl     = spotifyResponse["next"].ToString();
            tracksResponse.previousUrl = spotifyResponse["previous"].ToString();
            tracksResponse.Tracks      = tracks;
            return(JsonConvert.SerializeObject(tracksResponse));
        }