如何从Spotify获取当前用户的播放列表

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获取当前用户的播放列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)