当前位置: 首页 > 软件库 > Web应用开发 > 网站API >

douban-objc-client

Objective C 实现的 豆瓣 API 客户端
授权协议 BSD
开发语言 Objective-C
所属分类 Web应用开发、 网站API
软件类型 开源软件
地区 国产
投 递 者 通和裕
操作系统 iOS
开源组织
适用人群 未知
 软件概览

douban-objc-client 是一个 Objective C 实现的 豆瓣 API 客户端。现在仅支持 iOS。

1.提供 OAuth2 所需参数

DOUService *service = [DOUService sharedInstance];
service.clientId = kAPIKey;
service.clientSecret = kPrivateKey;

2.发起一个异步请求

NSString *subPath = [NSString stringWithFormat:@"/book/subject/%d", bookId];
DOUQuery *query = [[[DOUQuery alloc] initWithSubPath:subPath parameters:nil] autorelease];

query.apiBaseUrlString = service.apiBaseUrlString;
DOUHttpRequest *req = [DOUHttpRequest requestWithQuery:query target:self];

DOUService *service = [DOUService sharedInstance];
[service addRequest:req];

若使用 delegate 方式处理回调,要注意一个问题,某些情况下,request 的 delegate 被 dealloc 后,request 才得到了返回。这时就是一个 已释放的 delegate 来处理回调。 这会造成程序崩溃。处理方法为,在 request 的 delegate (例如某个 UIViewController) 的 dealloc 方法中对 request 发送 clearDelegatesAndCancel 消息,再 release request。

另外一个更为优雅的方法是使用“闭包” (block),DOUHttpRequest 提供了一个方法,可以用闭包来处理回调。由于 request 会自动 retain 闭包。所以,这就避免了使用 delegate 处理回调时可能出现的上述问题。

但, Objective-C 的闭包在 iOS 4.0 及其以上版本才得到支持。

DOUHttpRequest 的闭包处理回调的方法:

+ (DOUHttpRequest *)requestWithQuery:(DOUQuery *)query 
                     completionBlock:(DOUBasicBlock)completionHandler;

3.异步请求的回调

- (void)requestFinished:(DOUHttpRequest *)req {
    NSError *error = [req error];
    if (!error) {
        DoubanFeedEvent *feed = [[DoubanFeedEvent alloc] initWithData:[req responseData]];
    }
}

- (void)requestFailed:(DOUHttpRequest *)req {
    NSLog(@"error");
}
 相关资料
  • 斌哥豆瓣FM桌面版,是一款第三方豆瓣FM客户端(PC版)。 软件使用 AAuto 语言编写,源码下载地址 http://wubin.in/app/source/doubanFM.20140101.7z 斌哥豆瓣FM第三方客户端,可替代豆瓣FM官方桌面版客户端。其除具有豆瓣FM的一般功能(登录、收听红心兆赫、加红心、标记不再听等),还具备如下特点: 1)单文件免安装绿色版(无需.net等运行库),软

  • 本文向大家介绍Python实现豆瓣图片下载的方法,包括了Python实现豆瓣图片下载的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现豆瓣图片下载的方法。分享给大家供大家参考。具体分析如下: 1 用 tk 封装一下 2 用户可以自己输入图片url 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍Python爬豆瓣电影实例,包括了Python爬豆瓣电影实例的使用技巧和注意事项,需要的朋友参考一下 文件结构 html_downloader.py - 下载网页html内容 html_outputer.py - 输出结果到文件中 html_parser.py: 解析器:解析html的dom树 spider_main.py - 主函数 综述 其实就是使用了urllib2和Beauti

  • 本文向大家介绍基于豆瓣API+Angular开发的web App,包括了基于豆瓣API+Angular开发的web App的使用技巧和注意事项,需要的朋友参考一下 一、扯淡的说 name:【豆瓣搜索】 最近关注了下豆瓣的API,发现豆瓣开放平台需要加强API文档撰写啊....但是有个可喜的发现豆瓣V2接口提供了搜索接口。最近在用phantom弄些爬虫,想想,真是美丽极了!有个豆瓣的接口,我都不用去

  • 今天面试了豆瓣算法岗,我一番自我介绍完之后,最后说自己学习能力强。然后面试官就说:我们先写一个基础的算法题吧。然后就给出了一个算法题,无奈自己LeetCode刷的真的还不太够,写了半个小时都没有写出来。

  • 本文向大家介绍Java基于WebMagic爬取某豆瓣电影评论的实现,包括了Java基于WebMagic爬取某豆瓣电影评论的实现的使用技巧和注意事项,需要的朋友参考一下 目的 搭建爬虫平台,爬取某豆瓣电影的评论信息。 准备 webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬