天天看点

QQ登录报错:msg = "this api without user authorization";ret=100030;

需要实现用户的增量授权:

实现以下代理方法即可正常授权登录:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

- (BOOL)tencentNeedPerformIncrAuth:(TencentOAuth *)tencentOAuth withPermissions:(NSArray *)permissions

{

    // incrAuthWithPermissions是增量授权时需要调用的登录接口

    // permissions是需要增量授权的权限列表

    [tencentOAuth incrAuthWithPermissions:permissions];

    return NO; // 返回NO表明不需要再回传未授权API接口的原始请求结果;

    // 否则可以返回YES

}

- (void)tencentDidUpdate:(TencentOAuth *)tencentOAuth

{

//    _labelTitle.text = @"增量授权完成";

    NSLog(@"增量授权完成");

    if (tencentOAuth.accessToken

        && 0 != [tencentOAuth.accessToken length])

    { // 在这里第三方应用需要更新自己维护的token及有效期限等信息

        // **务必在这里检查用户的openid是否有变更,变更需重新拉取用户的资料等信息** _labelAccessToken.text = tencentOAuth.accessToken;

    }

    else

    {

        NSLog(@"增量授权不成功,没有获取accesstoken");

    }

}

- (void)tencentFailedUpdate:(UpdateFailType)reason

{

    switch (reason)

    {

        case kUpdateFailNetwork:

        {

//            _labelTitle.text=@"增量授权失败,无网络连接,请设置网络";

            NSLog(@"增量授权失败,无网络连接,请设置网络");

            break;

        }

        case kUpdateFailUserCancel:

        {

//            _labelTitle.text=@"增量授权失败,用户取消授权";

            NSLog(@"增量授权失败,用户取消授权");

            break;

        }

        case kUpdateFailUnknown:

        default:

        {

//            _labelTitle.text=@"增量授权失败,未知错误";

            NSLog(@"增量授权失败,未知错误");

            break;

        }

    }

}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

继续阅读