如何从 Spotify 获取当前用户的播放列表
How to get current user's playlist from Spotify
我正在尝试实现 Spotify 与当前用户播放列表的集成,以便在我的 table 视图中显示它。我已经与登录和访问令牌集成,一切正常。我经历了堆栈溢出 link:- 但对我不起作用。
然后如下所示获取 canonicalUsername 的打印,其显示为 nil 值
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
})
我什至尝试过这个 link 由于初学者可能它对我也不起作用。有什么方法可以获取 Spotify 当前的用户 ID?如何在我的 table 视图中显示当前用户的播放列表?
只需浏览 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!)
}
然后要获取当前用户的播放列表并在您的设备中播放,首先在您的视图控制器中调用 SPT 委托,然后调用函数,
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 与当前用户播放列表的集成,以便在我的 table 视图中显示它。我已经与登录和访问令牌集成,一切正常。我经历了堆栈溢出 link:-
然后如下所示获取 canonicalUsername 的打印,其显示为 nil 值
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
})
我什至尝试过这个 link
只需浏览 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!)
}
然后要获取当前用户的播放列表并在您的设备中播放,首先在您的视图控制器中调用 SPT 委托,然后调用函数,
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
}
}
}}}
}
}