Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

nonetheless/Douban-Java-SDK-OAuth2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

28 Commits

Repository files navigation

"人人的SDK太潦草,微博的太混乱,豆瓣儿的不能再这样了"

--- UglyTroLL from 东学西读

豆瓣OAuth2 API Java SDK (几乎完全版) v0.727

豆瓣OAuth2 API Java SDK(由东学西读提供).

欢迎加入东学西读的豆瓣小站.

欢迎访问东学西读.

开源使用协议

MIT License

更新日志

2013年04月01日: 新增两个豆瓣V2电影的API: getMoviesTop250 与 getV2MovieInfoById 由Sean Guo贡献

注意

现在本SDK是基于豆瓣OAuth 2.0 API的v1版,也就是使用GData 和 Atom作为数据传输类型的版本,使用JSON的v2版本尚未支持,因为其还处于测试阶段,稳定性和可靠性未知(而基于Atom的API豆瓣已经使用了多年)。 而且v1和v2版本支持的API功能相同,所以暂时没有更换必要,等v2稳定并且成为主流后本SDK会做相应改变。

功能/优点

  • 豆瓣Oauth2认证流程 - 用户登录 从引导用户,用户批准权限换code到用code换accessToken
  • 完备的模型(Model)以及转换器(Parser) - 无需担心数据转换和提取 完美转换豆瓣API所使用的GData/Atom类型的xml以及json致简单易读易懂易用的JavaBean
  • '豆瓣社区/书影音/豆瓣说'全覆盖 - 全面支持豆瓣开放了的API 几乎支持全部豆瓣开放平台中开放了的API
  • 错误处理 - 轻松了解为何出错 对各种Exception的包装,使得错误信息明了,使用简单(无需分门别类catch一大堆Exception)
  • 防误调用 - 减少调用中的问题 精心设计的调用接口,使得无需阅读大量文档也可以轻松使用
  • 多线程/并发支持 - 虽然没测大量并发 但是,谁用谁知道。在没有bug的情况下服务应该是线程安全的 :)

安装使用

有两种方式来整合SDK到您自己的项目中:

  • 在您的项目中包含SDK全部源码 那么,您需要自己下载两个依赖:json-lib 2.3/2.4Google Http Java Client 1.10.x
  • 使用Maven编译打包 - (**推荐**) 由于项目本身就是一个Maven项目,所以使用Maven最方便. 如果您的项目本身就是一个Maven项目,那么直接在您项目的pom.xml中加入依赖:
<dependency>
 <groupId>com.zhibo</groupId>
 <artifactId>Douban4jOAuth2</artifactId>
 <version>1.0-SNAPSHOT</version>
</dependency>

然后编译SDK,编译时请务必跳过所有test(不然会通不过无法编译,因为很多测试用例都是需要accessToken的),编译命令使用mvn package或mvn install,根据您自己的需要(如果您不明白两者的区别,请google Maven的基础知识)。例子如下:

mvn package -Dmaven.test.skip=true

OAuth认证流程

  1. 初始化:
OAuthDoubanProvider oauth = new OAuthDoubanProvider();
oauth.setApiKey("xxx").setSecretKey("xxx");//设置Apikey和secretKey.
/*
也可以在DefaultConfigs中直接填入您的apikey和secretKey,那么就不需要每次都设置这两个值.
*/
oauth.addScope(RequestGrantScope.BASIC_COMMON_SCOPE).addScope(......).//设置权限范围
oauth.setRedirectUrl("http://www.dongxuexidu.com");//设置回调地址
.........
  1. 引导用户至豆瓣认证页面,该页面地址可以通过以下代码拿到:
String redirectUrl = oauth.getGetCodeRedirectUrl();
  1. 通过你的回调地址获得code.
String code = howeverYouGetIt();
  1. 用code换accessToken.
AccessToken at = oauth.tradeAccessTokenWithCode(code);

整个流程在PlayGround.java里面的testAccessToken()方法内有详细可以测试的例子。

豆瓣API调用

请详见Test目录下的全部测试用例

其他说明

  • 参数类型 方法参数中类型为基本类型(如int, long)的说明该参数为必须,参数为包装类型(Integer, Long)的说明可为null且不会有任何问题。
  • 缺豆瓣说里面部分评论相关API 懒了没写
  • 未测试方法 部分未测试方法前含有@UnTested的Annotation,其余皆为已经测试通过的.
  • 未实现部分分支 如豆邮过多需要验证码的引导,如上传本地图片至豆瓣说广播等.
  • 使用实例 使用实例都可以在PlayGround,java和Test目录下找到.
  • 欢迎 有兴趣的同学来一起继续完善这个SDK

About

Douban Java SDK OAuth2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%

AltStyle によって変換されたページ (->オリジナル) /