易班开放平台第三方网站接入的Demo(Java_SDK)的步骤
2017-10-15 16:39
471 查看
前言:最近需要做一个Web应用,需要用到易班开放平台的Api,在此基础上进行二次开发,由于网上的资料比较少,官方文档和Demo里面也没有讲的很清楚,于是就自己研究了一下,方便各位同学参考。
1.首先要申请成为易班开放平台开发者:https://open.yiban.cn/;
2.到官方网站下载Java版的SDK:https://open.yiban.cn/wiki/index.php?page=SDK%E4%B8%8B%E8%BD%BD;
3.到开放平台创建一个Web应用,获取到APPID和APPSECRET,这两个东西是这个应用的唯一凭证;
4.前面的信息随便填,比较重要的是后面的网站地址;
我的项目访问地址是http://127.0.0.1:8080/yiban_demo,开始创建应用的时候我们把三个地址先写成一样的,授权回调地址我后面会说到。
5.新建一个项目,我这里暂且使用eclipse来做演示,其他的工具类似。项目结构如下:
首先,db包里是对数据库的一些操作,无关本篇博客要讲的内容,就不多说了;
然后是filter包下的文件,验证用户是否登录的拦截器;
moudel包下面的文件是JavaBean文件;
servlet包下面的文件是一些请求文件;
最后AppContext文件是本项目需要用到的一些常亮;
6.首先是AppContext.java文件
这里分别把刚刚申请的APPID和APPSECRET以及网站地址、回调地址写作常量方便我们后面调用;
7.然后就是项目首页index.jsp,就是一个简单的登录按钮;
登录按钮跳转到请求授权的页面,也就是init请求,对应的Servlet文件是InitializionServlet.java;
根据官方wiki上的说法,授权的步骤要先根据应用的APPID和APPSEC来创建一个Authorize对象,然后重定向到授权页面;
8.然后就是比较重要的地方了,这里就会用到刚刚填写的回调地址了,开放平台会在你授权完成后跳转回你刚才填写的回调地址上,并且会携带一些数据回来,我们需要在回调地址的请求里对返回来的数据做一些请求。
现在,我们新建一个Servlet,取名为AuthorizetionServlet.java,并且设定访问路径为“/auth”,然后把这个路径设置到我们创建的应用里。
也就是最开始的授权回调地址这一栏了。
于是,在这个请求里面就可以获取到一个json数据,里面有一个code,通过这个code来获取access_token就可以了;
以下是AuthorizetionServlet.java:
这里就主要是回调地址这里有点绕,我也是边看官方的demo边做断点调试才弄好的。获取到access_token后,我们就可以根据这个token来调用开放平台上的一些借口,以及做一些查询了。
好了,这篇博客的内容就这么多,欢迎大家纠错指正。
最后,附上源码https://github.com/phw-nightingale/yiban_demo
要是觉得好别忘记加star哦~
1.首先要申请成为易班开放平台开发者:https://open.yiban.cn/;
2.到官方网站下载Java版的SDK:https://open.yiban.cn/wiki/index.php?page=SDK%E4%B8%8B%E8%BD%BD;
3.到开放平台创建一个Web应用,获取到APPID和APPSECRET,这两个东西是这个应用的唯一凭证;
4.前面的信息随便填,比较重要的是后面的网站地址;
我的项目访问地址是http://127.0.0.1:8080/yiban_demo,开始创建应用的时候我们把三个地址先写成一样的,授权回调地址我后面会说到。
5.新建一个项目,我这里暂且使用eclipse来做演示,其他的工具类似。项目结构如下:
首先,db包里是对数据库的一些操作,无关本篇博客要讲的内容,就不多说了;
然后是filter包下的文件,验证用户是否登录的拦截器;
moudel包下面的文件是JavaBean文件;
servlet包下面的文件是一些请求文件;
最后AppContext文件是本项目需要用到的一些常亮;
6.首先是AppContext.java文件
package cn.it.yiban; public class AppContext { public static final String APP_ID = "dbde49cbca84c6a9"; public static final String APP_SEC = "00b7eb3efa1703e35a18ebce0637696c"; public static final String WEB_SITE = "http://127.0.0.1:8080/yiban_demo"; public static final String BACK_URL = "http://127.0.0.1:8080/yiban_demo/auth"; public static final String KEY_CODE = "code"; public static final String KEY_TOKEN = "access_token"; public static final String KEY_USER = "user"; public static final String KEY_USER_ID = "user_id"; public static String ACCESS_TOKEN = "access_token"; }
这里分别把刚刚申请的APPID和APPSECRET以及网站地址、回调地址写作常量方便我们后面调用;
7.然后就是项目首页index.jsp,就是一个简单的登录按钮;
<a href="/yiban_demo/init">点击登录</a>
登录按钮跳转到请求授权的页面,也就是init请求,对应的Servlet文件是InitializionServlet.java;
package cn.it.yiban.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.it.yiban.AppContext; import cn.yiban.open.Authorize; @WebServlet("/init") public class InitilizionServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 4634124722565801643L; @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Authorize authorize = new Authorize(AppContext.APP_ID, AppContext.APP_SEC); String url = authorize.forwardurl(AppContext.BACK_URL, "QUERY", Authorize.DISPLAY_TAG_T.MOBILE); res.sendRedirect(url); } }
根据官方wiki上的说法,授权的步骤要先根据应用的APPID和APPSEC来创建一个Authorize对象,然后重定向到授权页面;
8.然后就是比较重要的地方了,这里就会用到刚刚填写的回调地址了,开放平台会在你授权完成后跳转回你刚才填写的回调地址上,并且会携带一些数据回来,我们需要在回调地址的请求里对返回来的数据做一些请求。
现在,我们新建一个Servlet,取名为AuthorizetionServlet.java,并且设定访问路径为“/auth”,然后把这个路径设置到我们创建的应用里。
也就是最开始的授权回调地址这一栏了。
于是,在这个请求里面就可以获取到一个json数据,里面有一个code,通过这个code来获取access_token就可以了;
以下是AuthorizetionServlet.java:
package cn.it.yiban.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import cn.it.yiban.AppContext; import cn.yiban.open.Authorize; import cn.yiban.open.common.User; @WebServlet("/auth") public class AuthorizationServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 636593132245602772L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String code = req.getParameter(AppContext.KEY_CODE); if (code == null || code.equals("")) { resp.sendRedirect("/yiban_demo/index.html"); } System.out.println(code); Authorize authorize = new Authorize(AppContext.APP_ID, AppContext.APP_SEC); String text = authorize.querytoken(code, AppContext.BACK_URL); System.out.println(text); JSONObject json = JSON.parseObject(text); AppContext.ACCESS_TOKEN = json.getString(AppContext.KEY_TOKEN); User user = new User(AppContext.ACCESS_TOKEN); HttpSession session = req.getSession(); session.setAttribute(AppContext.KEY_USER, user); resp.sendRedirect("http://127.0.0.1:8080/yiban_demo/index.html"); } }
这里就主要是回调地址这里有点绕,我也是边看官方的demo边做断点调试才弄好的。获取到access_token后,我们就可以根据这个token来调用开放平台上的一些借口,以及做一些查询了。
好了,这篇博客的内容就这么多,欢迎大家纠错指正。
最后,附上源码https://github.com/phw-nightingale/yiban_demo
要是觉得好别忘记加star哦~
相关文章推荐
- 第三方插件的引用(4):JAVA网站接入QQ登录
- 第三方网站接入微信JS-SDK的分享自定义设置,微信分享小图标以及标题
- 第三方插件的引用(3): JAVA网站接入微信登录
- Idea-Java接入银联支付的Demo
- 微博开发平台java SDK demo学习之friendships
- 解决mob网站短信验证SDK更新后,android studio下的mob短信验证接入问题
- Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)
- 微信分享SDK接入——Java
- Android快速SDK(23)第三方授权登录库ThirdLogin【肌肉记忆,分钟接入】
- <android> 第三方支付sdk接入 支付宝、微信支付
- 那些年用node接入微信走过的坑之(四)---微信扫码登录第三方网站
- 微信授权登陆接入第三方App(步骤总结)Android
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- Unity3D如何接入第三方的SDK - iOS篇
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- QQ登录-第三方SDK的接入总结
- iOS开发(第三方使用)——极光推送SDK接入
- 如何快速高效的接入移动第三方SDK
- JAVA版 微信js-sdk接口调用demo
- 安装 ibm-java-x86_64-sdk-6.0-9.3.x86_64.rpm 的三步骤