试图获取用户播放列表中的所有曲目,它可以在Objective-C演示应用程序中运行,但是当我在Swift中尝试时它会返回:
<SPTPlaylistList: 0x7fca22d72460>: 0-0 of 1 items (Function)
我正在使用此代码:
SPTPlaylistList.playlistsForUserWithSession(session, callback: { (error, object) -> Void in
if error == nil {
var playlists = object as! SPTListPage
println(playlists)
SPTPlaylistSnapshot.playlistWithURI(playlists.items[0].uri, accessToken: session.accessToken, callback: { (error:NSError!, obj) -> Void in
var playl = obj as! SPTPlaylistSnapshot
println(playl.firstTrackPage.tracksForPlayback)
})
}
})
Run Code Online (Sandbox Code Playgroud)
这是正在运行的Objective-C代码:
[SPTPlaylistList playlistsForUserWithSession:session callback:^(NSError *error, id object) {
SPTListPage *aa = object;
NSLog(@"%@",aa.items);
[SPTPlaylistSnapshot playlistWithURI:[NSURL URLWithString:@"spotify:user:spotifizr:playlist:3bpGFVfycGnhtcEVb95G98"]
accessToken:session.accessToken
callback:^(NSError *error, SPTPlaylistSnapshot *object) {
NSLog(@"tracks on page 1 = %@", [object.firstTrackPage tracksForPlayback]);
}];
}];
Run Code Online (Sandbox Code Playgroud)
不知道为什么它会(function)
在Swift项目中返回,而不是所有的轨道.
编辑:试过
println(playl.firstTrackPage.tracksForPlayback())
Run Code Online (Sandbox Code Playgroud)
但是现在它返回nil,尽管我在播放列表中有50个曲目.
小智 2
您需要在请求的范围中包含以下一项或两项(如果它们尚不存在):
SPTAuthPlaylistReadScope
并SPTAuthPlaylistReadPrivateScope
分别允许访问用户的公共和私人播放列表。
请参阅https://github.com/spotify/ios-sdk的身份验证和范围部分
归档时间: |
|
查看次数: |
707 次 |
最近记录: |