iOS-微博登录回调不成功的解决

之前微博登录正常实现,后来回调到客户端就是客户端不执行下一步操作
原因 : 不知道哪一天给粘贴上了不知道在哪个地方复制的代理方法
解决 : 删掉就好了
要删的!!!!!

-(void)request:(WBHttpRequest *)request didReceiveResponse:(NSURLResponse *)response{
    
}
/**
 收到一个来自微博Http请求的网络返回
 
 @param data 请求返回结果
 */

- (void)request:(WBHttpRequest *)request didFinishLoadingWithDataResult:(NSData *)data{
    
}

/**
 收到快速SSO授权的重定向
 
 @param URI
 */

- (void)request:(WBHttpRequest *)request didReciveRedirectResponseWithURI:(NSURL *)redirectUrl{
    
}

[需要的回调! 微博登录和微博分享都会走这个回调,if语句进行区分] 下面的是我之前的,有一些自己封装的东西懒得删了,直接跳过看吧

#pragma mark - sina
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request{
    
}
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response{
    self.sinaResponse = [[SSSocialUserInfoResponse alloc] init];
    self.sinaResponse.platformType = SSSocialPlatformTypeSina;
    if ( [response isKindOfClass:[WBAuthorizeResponse class]] && self.isShared == NO) {
        // 登录授权
        if (response.statusCode == WeiboSDKResponseStatusCodeSuccess ) {
            NSString *token = [(WBAuthorizeResponse *)response accessToken];
            NSString *userid = [(WBAuthorizeResponse *)response userID];
            
            self.sinaResponse.statusCode = SSSocialResponseStatusCodeSuccess;
            self.sinaResponse.openid = userid;
            self.sinaResponse.accessToken = token;
            
            NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:2];
            [params setObject:token forKey:@"access_token"];
            [params setObject:userid forKey:@"uid"];
            
            //发送请求 获取各种数据 对应的URL和请求方式heepMethod是不同的 详细的参考微博开放平台
            [WBHttpRequest requestWithURL:@"https://api.weibo.com/2/users/show.json" httpMethod:@"GET" params:params delegate:self withTag:@"getUserInfo"];
        }else if (response.statusCode == WeiboSDKResponseStatusCodeUserCancel){
            self.sinaResponse.statusCode = SSSocialResponseStatusCodeUserCancel;
            self.sinaResponse.error = @"取消操作";
            _userInfoBlock(self.sinaResponse);
            if (self.callbackResponse != nil) {
                self.callbackResponse(@"cancel", nil);
            }
        }else{
            self.sinaResponse.statusCode = SSSocialResponseStatusCodeAuthDeny;
            self.sinaResponse.error = @"授权失败";
            _userInfoBlock(self.sinaResponse);
            if (self.callbackResponse != nil) {
                self.callbackResponse(@"failed", nil);
            }
        }
    }else{
      // 分享
        self.isShared = NO;
        if (response.statusCode == WeiboSDKResponseStatusCodeSuccess) {
          if (self.callbackResponse != nil) {
            self.callbackResponse(@"success", nil);
        }
    }
    }
   
}
#pragma mark - WBHttpRequestDelegate
/**
 收到一个来自微博Http请求的网络返回
 
 @param result 请求返回结果
 */
-(void)request:(WBHttpRequest *)request didFinishLoadingWithResult:(NSString *)result {
    
    NSData *data = [result dataUsingEncoding:NSUTF8StringEncoding];
    NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    if (dic == nil) {
        self.sinaResponse.statusCode = SSSocialResponseStatusCodeAuthDeny;
        self.sinaResponse.error = @"授权失败";
        _userInfoBlock(self.sinaResponse);
        return;
    }
    self.sinaResponse.statusCode = 0;
    self.sinaResponse.nickname = [dic objectForKey:@"screen_name"];
    self.sinaResponse.iconurl = [dic objectForKey:@"profile_image_url"];
    _userInfoBlock(self.sinaResponse);
}
/**
 收到一个来自微博Http请求失败的响应
 
 @param error 错误信息
 */
- (void)request:(WBHttpRequest *)request didFailWithError:(NSError *)error{
    self.sinaResponse.statusCode = SSSocialResponseStatusCodeAuthDeny;
    self.sinaResponse.error = @"授权失败";
    _userInfoBlock(self.sinaResponse);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 10,652评论 1 23
  • 搜狗 Passport iOS SDK 是搜狗为开发者提供的第三方单点登录和搜狗账户注册登录服务。本版本提供的第三...
    Www刘阅读 6,857评论 2 1
  • 如QQ互联,这里详细介绍如何实现微博登录。 成为开发者 首先还是得先注册一个微博账号,用微博账号来登录开放平台。 ...
    MsgSS阅读 7,506评论 1 0
  • 我在之前的文章内,分别写了全球顶级的几位投资大师,在接下来的文章中,我会写关于全球顶级的基金,并会留下自己的思考。...
    小明入市说阅读 4,911评论 0 49
  • 2018年,一部名为《信笺故事》的小众电影在美国上映。“你只是一个开始,还有很多像你一样的孩子”这是电影《信笺故事...
    浅石野风阅读 3,892评论 0 9