保姆式手把手教你接入易班开放平台接入个人外部网站 |
您所在的位置:网站首页 › 易班app是干什么的 › 保姆式手把手教你接入易班开放平台接入个人外部网站 |
引言
这段时间因为开发需求需要在易班开放平台上接入外部网站,可在上线后从易班平台访问。其中有许多需要定性要求,比如网站的接入、调用易班官方api登录授权等。 本教程为从易班接入外部网站,但易班其余外部客户端如应用等接入方法大同小异 一、查看官方文档说明 接入易班的概述与目的:网站接入是易班针对第三方网站提供的社会化网络接入方案。接入易班授权让您的网站支持用易班帐号登录, 让用户方便的分享网站内容、在网站上关注您的易班动态,快速为网站增加用户、流量和推广度。 如何创建网站接入见官方指南图 官方指南看似很简单,但实际开发过程有许多不为人知的“坑”,其中最大的坑就是授权机制。而授权却又是接入易班的基础,易班的大多api都需要验证用户身份的。 官方说明如下 对于没有接触过授权登录验证的小伙伴来说,可能会有点一头雾水。没关系,现将接入方法真手把手式传授与大家。废话不多说,下面进入正题。 准备工作 1.进入易班官方开放平台 2.申请为易班开发者提交开发者申请后,需要等待易班工作人员2~3个工作日的审核。 3.创建外部网站进入管理中心并创建网站接入。 根据要求填写网站信息 * logo可以暂时另存为参考实例使用,后期再更换。 本地测试网址可以暂时参考如上填写,后期上线再更换服务器地址。 http://localhost:8080/YiBanTest/ 注意此处的回调地址,参考如上填写。 4.下载官方sdk易班开放平台wiki文档 (yiban.cn) 这里我们因为是JavaWeb项目,所以需要的是Java SDK包,下载到本地并解压。 正式开干 1.导入/引入sdk包我们先创建一个JavaWeb项目作为模板,项目的创建安与配置这里就不过多赘述了。 本项目是使用Maven构建的。 将解压出来的SDK文件的此jar包导入项目 并将jar包添加到项目中。 POM文件添加jar包依赖(注意路径) cn.yiban open 1.0 system ${pom.basedir}/src/main/webapp/WEB-INF/lib/YBOpenApi.jar项目结构如下图 2.定义数据类 AppContext.java /** * 易班接入数据类 */ public class AppContext { public static final String APP_ID = "785a5bb5621e65fd"; public static final String APP_SEC = "2829bb519ec1269j799b4be87e269"; public static final String WEB_SITE = "http://127.0.0.1:8080/YiBanTest"; public static final String BACK_URL = "http://127.0.0.1:8080/YiBanTest/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"; }其中,APP_ID、APP_SEC可在易班创建的网站信息处查看,分别复制赋值即可。 3.init本步骤实现易班的接入与授权,创建InitController。 获取授权前,先发送请求获取code。 @RequestMapping("/init") public void init(HttpServletResponse response) throws IOException { Authorize au = new Authorize(AppContext.APP_ID, AppContext.APP_SEC); String url = au.forwardurl(AppContext.BACK_URL, "QUERY", Authorize.DISPLAY_TAG_T.MOBILE); response.sendRedirect(url); }此请求会根据你的APP_ID、APP_SEC发送请求,请求成功的话返回一个code状态码,无异常的话会进入回调地址。 4.auth申请授权并获取code、access_token、userid、expires等。 @RequestMapping("/auth") public void auth(HttpServletResponse response, HttpServletRequest request) throws IOException { //auth这个接口传入APP_ID以及回调地址=http://127.0.0.1:8080/YiBanTest/auth以获取code以及access_token等信息 //获取code失败,跳转到error.jsp String code = request.getParameter(AppContext.KEY_CODE); if (code == null || code.equals("")) { response.sendRedirect("error.jsp"); } //获取code成功 System.out.println("code:" + 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); //获取ACCESS_TOKEN AppContext.ACCESS_TOKEN = json.getString(AppContext.KEY_TOKEN); User user = new User(AppContext.ACCESS_TOKEN); HttpSession session = request.getSession(); session.setAttribute(AppContext.KEY_USER, user); //重定向到指定网页 response.sendRedirect("index.jsp"); }具体获取的ACCESS_TOKEN,Key的有啥作用(反正很大作用)这里也不作赘述,可自行百度。 4.验证到此,大部分工作已经完成,可以进行测试。 修改tomcat配置如下 启动Tomcat,并访问http://localhost:8080/YiBanTest/init测试 授权后跳转指定页面index.jsp 至此,易班的外部网站接入已经完成。剩下的工作便与日常Java Web应用开发一致了。 别忘了的是,接入的外部网站需要上线的话,还得修改易班网站信息的地址、以及配置类中的地址。 完整项目gitee链接易班接入测试: 易班接入测试仓库 (gitee.com) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |