Spotify createPlaylistWithName导致禁止错误

时间:2015-01-03 17:12:34

标签: ios spotify

我正在尝试使用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是正确的。创建播放列表以避免此错误的正确方法是什么?

1 个答案:

答案 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]];