我正在尝试使用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);
}];
}];
我已经验证会话有效且从playlistsForUserInSession返回的SPTPlaylistlist是正确的。创建播放列表以避免此错误的正确方法是什么?
答案 0 :(得分:0)
根据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]];