前言:最近需要做一个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文件

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;@Overrideprotected 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;@Overrideprotected 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哦~

易班开放平台第三方网站接入的Demo(Java_SDK)的步骤相关推荐

  1. 易班开放平台授权机制理解以及使用

    前言 作为一名使用易班开发平台的技术人员,最常见就是调用易班开发API,获取用户的信息,发送站内信给用户,获取用户的经验和网薪值.当然,在此之前要获取用户的授权(access_token),再去调用接 ...

  2. (第三方平台)开发相关,解除80端口占用,微信公众号分享jssdk实现,微信开放平台登录接口接入,2022微信分享接入本地调试,微信分享定制

    一.开发相关 1.平台地址 微信开放平台 QQ互联平台SDK 2.文章收集 来自CSDN兄台的QQ登录使用的教程 微信网站应用开发的详细流程和引导 VueJs单页应用实现微信网页授权及微信分享功能 [ ...

  3. EasyWeChat微信开放平台第三方平台接入流程

    授权流程技术说明: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Authorization_Process ...

  4. 解读苏宁易购开放平台

    电商界波澜起伏,这边价格战打的不亦乐乎,那边开放平台也搞的如火如荼,电商真是闲不住的行业.除了天猫本身就是综合平台电商之外,现在京东.苏宁易购.当当.亚马逊.腾讯等综合电商都在做开放平台,现在品牌商与 ...

  5. 易信java_新手指南-易信开放平台

    易信Android平台SDK使用新手指南 本文将介绍SDK的使用.如果你想详细的了解每个API用法,请查阅 API文档 或下载阅读 易信SDK Sample 源码. 一.准备 1. 下载易信客户端,并 ...

  6. python登录网页版易信_web/wap网页分享新手指南-易信开放平台

    目前您可分享到易信朋友圈的内容类型包括纯文本(text).图片(image).图文(webpage).音频(music).视频(video)五种类型,分享时请将相应的类型字符串设置到type字段! 1 ...

  7. 微信开放平台-第三方平台开发配置及常见的问题

    目录 概述 参考文档 开源项目&工具 第三方平台设置 问题及解决方法 概述 本实例:第三方平台+微信公众号(服务号) 微信开放平台-第三方平台,为广大公众号和小程序提供运营服务和行业解决方案. ...

  8. 苏宁易购开放平台_前三季度线上规模突破2000亿,苏宁易购三季度盈利7.14亿

    10月30日晚,苏宁易购发布2020年第三季度报告,第三季度苏宁易购实现归母净利润7.14亿元.报告期内,苏宁易购紧抓市场机会,依托开放平台的快速发展,商品销售规模保持稳定增长.1-9月,公司实现线上 ...

  9. Mac平台第三方网站下载

    Mac平台第三方网站下载.这里推荐几个比较好的第三方苹果软件下载网站: http://www.feng.com http://soft.macx.cn http://www.macdang.com

  10. 苏宁易购开放平台_大增56.83%!苏宁开放平台表现优越,助推业绩实现高增长

    苏宁易购发布了2020年第三季度财报,数据显示,三季度苏宁易购归母利润达7.14亿元,其中苏宁易购开放平台业绩表现尤其突出,商品交易规模820.66亿元,同比增长56.83%.可以看出,苏宁线上开放平 ...

最新文章

  1. Powershell记录2
  2. (mysql) EXPLAIN语法
  3. Solaris 10主动安顿DVD运用步骤
  4. linux-选择输入法
  5. 将jar包制作成docker镜像
  6. python接口测试_python接口自动化测试框架
  7. 同比增长19.1%,软银第一季度净利2542亿日元
  8. logo计算机语言,LOGO语言
  9. php查拼音,php 输入汉字,查出对应的拼音
  10. C语言-Switch 语句
  11. 软件测试入门自学笔记(4)实战项目
  12. Bootstrap 对齐方式
  13. 菱形c语言思路,c语言打印菱形(c语言打印菱形思路)
  14. 奶油面膜行业调研报告 - 市场现状分析与发展前景预测
  15. Google Professional Data Engineer(PDE)考试
  16. 什么是jdk,jre?
  17. 抽丝剥茧——调停者和门面设计模式
  18. 【论文】使用endnote进行论文引用插入
  19. HUST软测1504班第4周小组作业成绩:WordCount优化
  20. esp ghost引导_ghost版系统是不是有了这两个文件和esp分区就可以uefi启动?

热门文章

  1. 苹果审核4.3如何解决?混淆?还是重新上架?用这招居然成功上架AppStore了!
  2. 计算机sci二区期刊,SCI二区期刊汇总表
  3. 在OPENSTACK中 WIN7和WIN2008 R2实例启动时蓝屏报 STOP:0X0000005DT
  4. 香港云服务器选阿里云好还是腾讯云好?
  5. 《时代》杂志评出2007年50个最佳网站
  6. matlab如何提取文本词干,英文词干提取(stemming)算法 - Lovins, Porter
  7. 超详细的CMD文件讲解(DSP28035)
  8. LabVIEW编程LabVIEW控制研华PCI-1739U例程与相关资料
  9. 清华大学 IPV6 设置
  10. 前篇:1.公共技术点之面向对象六大原则