예제 #1
0
파일: Spotify.cs 프로젝트: imutk/DeezerSync
        public async Task <List <StandardPlaylist> > GetStandardPlaylists()
        {
            SpotifyWebAPI _spotify = new SpotifyWebAPI()
            {
                AccessToken = secret,
                TokenType   = "Bearer"
            };

            List <StandardPlaylist> Playlists = new List <StandardPlaylist>();

            foreach (string user in SpotifyUserIDs)
            {
                Paging <SimplePlaylist> userPlaylists = _spotify.GetUserPlaylists(user, 50);
                if (userPlaylists.Error == null)
                {
                    foreach (var i in userPlaylists.Items)
                    {
                        StandardPlaylist stp      = new StandardPlaylist();
                        FullPlaylist     playlist = await _spotify.GetPlaylistAsync(i.Id);

                        stp.description = playlist.Description;
                        stp.id          = playlist.Id;
                        stp.provider    = "spotify";
                        stp.title       = playlist.Name;

                        List <StandardTitle> track = new List <StandardTitle>();
                        foreach (var trck in playlist.Tracks.Items)
                        {
                            track.Add(new StandardTitle {
                                username = trck.Track.Artists[0].Name, description = trck.Track.Album.Name, duration = trck.Track.DurationMs, genre = trck.Track.Type, title = trck.Track.Name, url = trck.Track.Uri
                            });
                        }
                        stp.tracks = track;
                        Playlists.Add(stp);
                    }
                }
            }
            return(Playlists);
        }
예제 #2
0
파일: Mongo.cs 프로젝트: imutk/DeezerSync
 /// <summary>
 /// Add Playlist to Database
 /// </summary>
 /// <param name="data">Playlist Object</param>
 /// <returns></returns>
 public async Task addPlaylist(StandardPlaylist data)
 {
     var input = db.GetCollection <StandardPlaylist>(data.title.Normalize().Replace(" ", "_", StringComparison.InvariantCultureIgnoreCase));
     await input.InsertOneAsync(data);
 }