我正在尝试使用Spotify iOS SDK创建播放列表,但收到以下错误:
Error Domain=com.spotify.ios-sdk Code=403 "forbidden" UserInfo=0x7fb9eb577cf0 {NSLocalizedDescription=forbidden}
这是我尝试创建播放列表的方式:
[SPTRequest playlistsForUserInSession:session callback:^(NSError *error, SPTPlaylistList *myPublicPlaylists) {
[myPublicPlaylists createPlaylistWithName:playlistName publicFlag:FALSE session:session callback:^(NSError *error, SPTPlaylistSnapshot *myRequestedPlaylist) {
if (error != nil) {
return;
}
success(myRequestedPlaylist);
}];
}];
我已经验证了会话是否有效,并且从播放列表返回的 SPTPlaylistlist ForUserInSession 是正确的。创建播放列表以避免此错误的正确方法是什么?
根据 iOS SDK 版本中的自述文件,"将用户连接到应用时,必须提供应用程序运行所需的范围。范围是访问用户帐户特定部分的权限,如果您不要求所需的范围,则在尝试执行各种任务时将收到权限被拒绝错误。
在这种情况下,有必要授予 SPTAuthPlaylistModifyPrivateScope 和 SPTAuthPlaylistModifyPublicScope 的权限。
例如:
// Create SPTAuth instance; create login URL and open it
SPTAuth *auth = [SPTAuth defaultInstance];
NSURL *loginURL = [auth loginURLForClientId:kClientId
declaredRedirectURL:[NSURL URLWithString:kCallbackURL]
scopes:@[SPTAuthStreamingScope, SPTAuthPlaylistModifyPrivateScope, SPTAuthPlaylistModifyPublicScope]];