欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IOS开源项目--新浪微博

程序员文章站 2023-12-22 11:38:10
...

实现新浪微博的功能。包括微博的展示,发微博,回复微博,展示对应微博的所有评论。效果如下:
IOS开源项目--新浪微博

IOS开源项目--新浪微博

IOS开源项目--新浪微博

IOS开源项目--新浪微博

下面说一下开发难点。开发难点在于微博的登录OAUTH2认证机制。简单的理解就是第一个请求接口,填写好用户名密码后,请求网址的时候,会生成一个code值拿到这个code值。再用得到的code值作为参数,去下一个接口发送请求。返回值会给你一个token。OK存下这个token。以后所有接口获取数据,必须用到这个token值。用如下代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{


    NSLog(@"%@",request.URL);
    NSString *path = [request.URL description];
    //判断是否包含code
    if ([path containsString:@"code"]) {

        NSString *code = [[path componentsSeparatedByString:@"="]lastObject];

        NSLog(@"%@",code);
        //通过code 换 token

        [WebUtils requestTokenWithCode:code andCompletion:^(id obj) {
            NSDictionary *dic = obj;

            NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/login.plist"];
            //把登录成功的信息保存到本地
            [dic writeToFile:path atomically:YES];
            //登录成功后返回页面
            [self dismissViewControllerAnimated:YES completion:nil];
        }];

        return NO;
    }

    //通过返回值控制 是否允许访问
    return YES;
}

认证机制的过程如上所述,具体参考官方文档。以及所有api获取数据接口
http://open.weibo.com/wiki/Oauth2/authorize

具体实现的源代码请参考github下载理解:
https://github.com/lee727n/SinaWeibo
也可按照commit版本 每个版本的理解。降低一次性理解的难度。
如果觉得有收获,请不要吝啬一颗星星~

上一篇:

下一篇: