How to get current user#39;s playlist from Spotify(如何从Spotify获取当前用户的播放列表)

本文介绍了如何从Spotify获取当前用户的播放列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现Spotify与当前用户的播放列表的集成,以便在我的表视图中显示它。我已经集成了登录和访问令牌,一切都很好。我已通过堆栈溢出链接:-How to get the list of songs using Spotify in Swift3 iOS?,但对我无效。

然后打印canonicalUsername,如下所示,其显示为空值

SPTUser.requestCurrentUser(withAccessToken:(SPTAuth.defaultInstance().session.accessToken)!) { (error, data) in
        guard let user = data as? SPTUser else { print("Couldn't cast as SPTUser"); return }
        let userId = user.canonicalUsername
})

我甚至试过这个链接Spotify iOS SDK Swift display all (!) playlists (20+),因为初学者可能对我也不起作用。有没有办法弄到Spotify目前的用户ID?如何在我的表视图中显示当前用户的播放列表?

推荐答案

只需通过Youtube的在线教程:-https://www.youtube.com/watch?v=KLsP7oThgHU&t=1s即可获取2019年的最新版本。

使用Spotify集成+搜索选项+默认Spotify URL下载完整源代码,获取当前用户的播放列表并在我们本地的iOS应用程序中播放 来源:-https://github.com/azeemohd786/Spotify-Demo

根据您的问题,获取打印规范用户名或当前用户的id的解决方案如下所示

 SPTUser.requestCurrentUser(withAccessToken: session.accessToken) { (error, data) in
                    guard let user = data as? SPTUser else { print("Couldn't cast as SPTUser"); return }
                    let userID = user.canonicalUserName

                 print(userID!)
                 }   

然后要获取当前用户的播放列表并在您的设备上播放,首先调用视图控制器Like中的SPT Delegate,然后调用函数

class PlayVC: UIViewController, SPTAudioStreamingDelegate, SPTAudioStreamingPlaybackDelegate {
func audioStreamingDidLogin(_ audioStreaming: SPTAudioStreamingController) {
        let playListRequest = try! SPTPlaylistList.createRequestForGettingPlaylists(forUser: session.canonicalUsername, withAccessToken: session.accessToken)
        Alamofire.request(playListRequest)
            .response { response in
                let list = try! SPTPlaylistList(from: response.data, with: response.response)

                for playList in list.items  {
                    if let playlist = playList as? SPTPartialPlaylist {
                        print( playlist.name! ) // playlist name
                        print( playlist.uri!)    // playlist uri
                      // self.tableView.reloadData()// if u want to display playlist name and other stuffs like so..
                        SPTAudioStreamingController.sharedInstance().playSpotifyURI("(playlist.uri!)", startingWith: 0, startingWithPosition: 10) { error in
                            if error != nil {
                                print("*** failed to play: (error)")
                                return
                            }
                        }
                        }}}

    }
}

这篇关于如何从Spotify获取当前用户的播放列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!