# 易班接口封装库 **Repository Path**: myspace_swff/yiban-api ## Basic Information - **Project Name**: 易班接口封装库 - **Description**: 易班开放平台接口的封装库, 极大地提高了开发易班应用的效率 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-05-11 - **Last Updated**: 2021-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 易班接口封装库 易班开放平台接口的封装库, 极大地提高了开发易班应用的效率。 ### 环境 * Java 8 + * Maven 3 + ### 使用教程 ##### 注意 使用前请先将 **YBOpenApi.jar** 安装到本地Maven仓库中,具体命令如下 ``` mvn install:install-file -Dfile=YBOpenApi.jar -DgroupId=cn.yiban -DartifactId=openapi -Dversion=1.0.0 -Dpackaging=jar ``` 其中, **-Dfile**参数的值为**YBOpenApi.jar**的文件路径,可自行修改 ##### 核心类(core包) 易班接口封装库的核心类只有3个,分别是 1. Sender 2. Request 3. DefaultRequest 但在用户使用的过程中只能感知到一个Sender类,具体使用,请看下面的例子: * 例子1: 获取已授权用户的access_token ```java public class Test1{ public static void main(String[] args){ String jsonString = Sender.url("oauth/access_token") .param("client_id","53eA3cAxx") .param("client_secret","sfa33da334fs8af7sa3435sa") .param("code", "ae34axg24") .param("redirect_uri", "www.testdemo.com").post(); // 然后对返回的json进行处理 //... } } ``` * 例子2. 获取当前用户的基本信息 ```java public class Test1{ public static void main(String[] args){ String jsonString = Sender.url("user/me") .token("xxxxxx").get(); // 然后对返回的json进行处理 //... } } ``` * 例子3. 获取当前用户好友列表 ```java public class Test1{ public static void main(String[] args){ String jsonString = Sender.url("friend/me_list") .token("xxxxxx") .param("page", "3") .param("count", "5").get(); // 然后对返回的json进行处理 //... } } ``` ##### 常用封装类(model包) yiban-api已经对一些常用的json结构进行了封装 1. YbResult ```json { "status":"success", "info":{ ... } } ``` 2. ErrorInfo ```json { "code":"错误编号", "msgCN":"中文报错信息", "msgEN":"英文报错信息" } ``` .... ##### 接口类(api包) Sender类已经对发送易班的请求进行了封装,但返回的结果是Json字符串,还需要用户进行处理。所以类库提供了基于核心类进行二次封装的接口类 * 例子1. 获取token的剩余秒数 ```java public class Test1{ public static void main(String[] args){ TokenInfo tokenInfo = OauthApi.tokenInfo("xdsdfas","xxxxfsf", null); Integer expireIn = tokenInfo.expireIn(); //... } } ``` * 例子2. 获取用户真实姓名 ```java public class Test1{ public static void main(String[] args){ YbResult realMeResult = UserApi.realMe("xdsdfas"); RealMe realMe = realMeResult.getInfo(); System.out.println(realMe.getYbRealname()); //... } } ``` 如果接口类在调用方法后返回的json字符串的status字段是 **error** ,那么此方法就会抛出ResultStatusException异常,并携带ErrorInfo错误信息对象 ##### 工具类 由于精力和时间原因,作者无法封装所有功能,所以现阶段很大一部分的功能需要由用户自行封装。 所以yiban-api提供了两个工具类MyJsonUtil和YbJsonUtil,方便用户自行封装。 ## 已封装的接口列表 oauth * oauth/token_info user * user/real_me ## 其他 ##### 学习交流 QQ群: **1073552547** ##### 旧版易班接口封装库 [https://gitee.com/baiqitun/ybapi_ext](https://gitee.com/baiqitun/ybapi_ext) ##### 易班官方文档 [https://open.yiban.cn/wiki/index.php](https://open.yiban.cn/wiki/index.php)