易班开放平台第三方网站接入的Demo(Java_SDK)的步骤
前言:最近需要做一个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)的步骤相关推荐
- 易班开放平台授权机制理解以及使用
前言 作为一名使用易班开发平台的技术人员,最常见就是调用易班开发API,获取用户的信息,发送站内信给用户,获取用户的经验和网薪值.当然,在此之前要获取用户的授权(access_token),再去调用接 ...
- (第三方平台)开发相关,解除80端口占用,微信公众号分享jssdk实现,微信开放平台登录接口接入,2022微信分享接入本地调试,微信分享定制
一.开发相关 1.平台地址 微信开放平台 QQ互联平台SDK 2.文章收集 来自CSDN兄台的QQ登录使用的教程 微信网站应用开发的详细流程和引导 VueJs单页应用实现微信网页授权及微信分享功能 [ ...
- EasyWeChat微信开放平台第三方平台接入流程
授权流程技术说明: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Authorization_Process ...
- 解读苏宁易购开放平台
电商界波澜起伏,这边价格战打的不亦乐乎,那边开放平台也搞的如火如荼,电商真是闲不住的行业.除了天猫本身就是综合平台电商之外,现在京东.苏宁易购.当当.亚马逊.腾讯等综合电商都在做开放平台,现在品牌商与 ...
- 易信java_新手指南-易信开放平台
易信Android平台SDK使用新手指南 本文将介绍SDK的使用.如果你想详细的了解每个API用法,请查阅 API文档 或下载阅读 易信SDK Sample 源码. 一.准备 1. 下载易信客户端,并 ...
- python登录网页版易信_web/wap网页分享新手指南-易信开放平台
目前您可分享到易信朋友圈的内容类型包括纯文本(text).图片(image).图文(webpage).音频(music).视频(video)五种类型,分享时请将相应的类型字符串设置到type字段! 1 ...
- 微信开放平台-第三方平台开发配置及常见的问题
目录 概述 参考文档 开源项目&工具 第三方平台设置 问题及解决方法 概述 本实例:第三方平台+微信公众号(服务号) 微信开放平台-第三方平台,为广大公众号和小程序提供运营服务和行业解决方案. ...
- 苏宁易购开放平台_前三季度线上规模突破2000亿,苏宁易购三季度盈利7.14亿
10月30日晚,苏宁易购发布2020年第三季度报告,第三季度苏宁易购实现归母净利润7.14亿元.报告期内,苏宁易购紧抓市场机会,依托开放平台的快速发展,商品销售规模保持稳定增长.1-9月,公司实现线上 ...
- Mac平台第三方网站下载
Mac平台第三方网站下载.这里推荐几个比较好的第三方苹果软件下载网站: http://www.feng.com http://soft.macx.cn http://www.macdang.com
- 苏宁易购开放平台_大增56.83%!苏宁开放平台表现优越,助推业绩实现高增长
苏宁易购发布了2020年第三季度财报,数据显示,三季度苏宁易购归母利润达7.14亿元,其中苏宁易购开放平台业绩表现尤其突出,商品交易规模820.66亿元,同比增长56.83%.可以看出,苏宁线上开放平 ...
最新文章
- Powershell记录2
- (mysql) EXPLAIN语法
- Solaris 10主动安顿DVD运用步骤
- linux-选择输入法
- 将jar包制作成docker镜像
- python接口测试_python接口自动化测试框架
- 同比增长19.1%,软银第一季度净利2542亿日元
- logo计算机语言,LOGO语言
- php查拼音,php 输入汉字,查出对应的拼音
- C语言-Switch 语句
- 软件测试入门自学笔记(4)实战项目
- Bootstrap 对齐方式
- 菱形c语言思路,c语言打印菱形(c语言打印菱形思路)
- 奶油面膜行业调研报告 - 市场现状分析与发展前景预测
- Google Professional Data Engineer(PDE)考试
- 什么是jdk,jre?
- 抽丝剥茧——调停者和门面设计模式
- 【论文】使用endnote进行论文引用插入
- HUST软测1504班第4周小组作业成绩:WordCount优化
- esp ghost引导_ghost版系统是不是有了这两个文件和esp分区就可以uefi启动?
热门文章
- 苹果审核4.3如何解决?混淆?还是重新上架?用这招居然成功上架AppStore了!
- 计算机sci二区期刊,SCI二区期刊汇总表
- 在OPENSTACK中 WIN7和WIN2008 R2实例启动时蓝屏报 STOP:0X0000005DT
- 香港云服务器选阿里云好还是腾讯云好?
- 《时代》杂志评出2007年50个最佳网站
- matlab如何提取文本词干,英文词干提取(stemming)算法 - Lovins, Porter
- 超详细的CMD文件讲解(DSP28035)
- LabVIEW编程LabVIEW控制研华PCI-1739U例程与相关资料
- 清华大学 IPV6 设置
- 前篇:1.公共技术点之面向对象六大原则