1.开放API官方介绍
豆瓣API是豆瓣为第三方开发人员提供的编程接口。利用豆瓣API,你可以在你的网站或程序中使用豆瓣的数据和功能(请务必遵守API使用条款)。
目前的豆瓣API支持的功能包括:
搜索并查看书籍、电影、音乐信息
搜索并查看用户信息,查看用户友邻信息
查看用户收藏
添加、更新、删除用户收藏
查看评论
发布、修改、删除评论
查看、添加、删除用户广播
查看、添加、删除用户日记
搜索并查看、添加、删除活动
查看、添加、删除、回复推荐
欢迎使用豆瓣 API 进行应用开发,请先阅读API 快速入门、授权说明以及参考手册。
测试期间,API 可能进行调整,请关注 豆瓣 API 小组的讨论。
2. 开放API索引l API快速入门
http://www.douban.com/service/apidoc/guide
l API参考手册
http://www.douban.com/service/apidoc/reference/
l API使用条款
http://www.douban.com/service/apidoc/terms
l API应用列表
http://www.douban.com/service/gallery
3. API分析结合豆瓣API的官方介绍以及参考手册,我们可以知道豆瓣网作为平台本身,他所定义的开放给第三方开发者的资源。
豆瓣作为一个以书评、影评、乐评起家的网站,其核心价值在于其拥有的大量书影音的书籍资料以及用户评论。
针对书籍、电影、音乐的信息,开放API以http协议的形式提供了访问接口,返回结果为标准XML格式(JSON格式可选,返回结果以后不再赘述)。针对以上三者的信息,包括书籍介绍、书籍作者等等。这些在豆瓣的页面都可以访问到(相当于换了一种表现形式,由HTML到XML的转换,数据更容易获取)。
针对书评、影评、乐评的信息,第三方应用通过开放API可以获取特定书(影音)的所有评论,或是特定用户发表的所有评论。针对于已经授权用户(开放API采用OAuth协议进行鉴权),其可以发表、修改、删除评论。
除了评论以外,豆瓣为用户提供的收藏、广播、日记、活动、推荐等功能与其类似,这里不再赘述。
除了书评、影评等UGC(User generate content)以外,豆瓣网本身是以一个社区的形式存在着,因此,开放API针对用户数据也提供了相应的接口。第三方应用可以利用这些接口,获取用户的注册数据(用户ID、自我介绍、个人主页等信息),用户本身的评论,以及用户的关注(类似于好友)信息,利用这些SNS特有的数据,也可以开发出好玩的第三方应用。
除了数据以外,豆瓣提供了内置的search功能和豆邮(站内信)功能,提供给第三方开发者,但与之前提到的丰富的业务数据相比,内置功能的提供稍显单薄。
综上所述,豆瓣开放API提供给我们其网站本身几乎所有数据(数据包括用户数据和业务数据,业务数据单单没有小组和九点),以及部分功能(稍显单薄)。结合这些数据和功能,第三方开发者可以开发丰富的应用为用户所使用。
4. 现用第三方应用介绍由于API本身、网站激励机制以及中国特有国情的原因,现存的豆瓣第三方应用仍不是很丰富(与twitter和app store相比^_^)。主要分为以下几类:
l 客户端工具
如手机客户端(aDouban),桌面客户端(豆瓣桌面),IM机器人(豆瓣gtalk机器人),豆瓣网手机微博客客户端
主要利用开放API为用户提供多种访问豆瓣的途径。
l 浏览器插件
Chrome插件(Douban Pulse)
l 书影音整理工具
如电影应用(Movie Finder),书籍应用(在线书架)
主要利用豆瓣丰富的书影音数据
l 统一的鉴权认证
如豆瓣连接
利用豆瓣网统一的账号体系管理应用。
5. 使用条款分析既然豆瓣已经提供了其所掌握的用户数据给第三方开发者,那么在“数据为王”的年代,掌握了这些业务和用户数据,其他开放者是否就可以复制一个豆瓣了呢?
这里我们不谈用户粘性问题。豆瓣的工程师当然也会考虑这一点,在使用条款中对此必然会做出限制。因为豆瓣开放的目的是为了营造一个以己为中心的生态环境,而不是为了培养一个竞争对手,更不是为了让别人山寨一个“逗乐”出来。
最主要的限制:
“如果只是想试验一下API,豆瓣也允许在不申请API Key的情况下进行API调用。不过在这种情况下,API调用被限制为每分钟请求不超过10次。使用API Key时,对访问的限制较为宽松,为每分钟40次,超过限制的话会被封禁。
如果你的应用确实需要超过每分钟40次请求,请与webmaster@douban.com联系,提供你的应用的详细信息(目的、apikey、使用API的方式、预计请求频次、网站url、是否商业行为、豆瓣API相关功能详述、截屏等等)以及访问豆瓣API所使用的服务器的IP地址信息,豆瓣审核通过后可设置白名单,放宽访问限制。”
以上文字明确的指出,非特别应用,每分钟访问限制40次,这甚至比手动刷新页面还要慢,因此打算通过此途径拿到所用豆瓣的数据,基本上是不大可能了。
使用条款:
你可以使用豆瓣的API和豆瓣数据来开发服务或应用,以显示、查看、检索及提交豆瓣数据。而不是以数据收集、聚合或数据分析为目的。
你对豆瓣API和豆瓣数据的访问需在合理的频度之内。若豆瓣发现你试图超过或规避频度限制,对豆瓣的稳定性产生负面影响,你的应用服务会被暂时或永久封禁。
调用豆瓣API获得豆瓣数据,需要遵守一定的规则:
豆瓣用户产生的数据(包括但不限于评论、收藏统计、评分信息)最多可缓存24小时。
图片链接最多可缓存24小时,不能直接存储或缓存图片本身。
图书/电影/音乐条目数据最多可缓存1个月。
如果应用服务包括一个客户端程序,此客户端程序不能缓存豆瓣数据。
每一处豆瓣数据展现的位置必须有到豆瓣相应页面的链接,且该链接不得使用rel=’nofollow’属性。
使用豆瓣数据时,有一些损害豆瓣公司利益的行为是不被允许的。
向任何第三方销售、分发、再授权、重新分配或传送任何豆瓣数据。
使用豆瓣数据提供非豆瓣的购买链接。
将豆瓣数据链接指向非豆瓣的网站。
将豆瓣数据用于第三方的商业网站提供流量。
豆瓣可能会监控你对豆瓣API的使用方式,以改善豆瓣的服务,并确保你遵守本条款。豆瓣公司保留随时要求删除特定或者全部豆瓣数据的权利。
如果有不满足以上API访问规则的需要,请联系我们,看是否能获得豆瓣公司的书面许可。
针对以上使用条款,豆瓣技术总监做过非官方的解释。
针对以上使用条款,我们可以理解豆瓣通过开放API所希望达到的效果。