关于这篇文章:

笔者近期和小伙伴接了校方的一个小小小项目,要求使用易班APP的账号,这意味着需要调用易班官方的登录API。下面介绍使用java语言作为后端,在自己的网站如何接入易班的登录API(轻应用、移动应用的操作大同小异)。(关于改造成前后端分离式开发,详见后续文章)

文章目录

  • 关于这篇文章:
  • 申请成为开发者账号
  • 创建应用接入
  • 下载易班JAVA的SDK示例及介绍
  • 创建Web项目
  • 启动自己的web项目
  • 授权测试
  • 关于JCE报错:

申请成为开发者账号

第一步:登录易班开放平台网站:https://o.yiban.cn/
第二步:进入个人中心:

第三步:按照标题填写好个人信息进去就好。

然后就坐等两三天左右的消息回馈就好啦!

创建应用接入

为了演示方便,我们这次创建网站接入。
第一步:进入管理中心,点击绿色按钮“创建网站接入”。
第二步:填写基本信息,这一步按照标题提示填写就好啦;

第三步:填写开发信息。
主要是这三个信息:网站地址、维护地址和授权回调地址。以下是我自己的设置,大家可根据自己的需要自行调整:

网站地址就是:写你本机的地址和运行这个网站的端口号。
维护地址可不填
授权回调地址就是:你调用易班登录API进入易班的官方登录页面成功后浏览器跳回哪个页面(你自己的页面)
创建应用成功后,就会生成两个重要的信息:AppID和AppSecret,分别对应易班官方给你这个应用唯一的应用ID和应用秘钥。


到这一步,你已经拥有自己的测试权限了。

下载易班JAVA的SDK示例及介绍

第一步:进入易班开放平台的文档中心:易班开放平台wiki文档
第二步:下载我们需要的SDK(这次介绍java的那就下载JAVA对应的SDK),解压它(里面的文档大家有兴趣就自行查看哈,这里就不作重复介绍了)。

创建Web项目

(我这里不小心点到了maven项目,但是不影响,我依然会以官方文档的介绍方式给大家做示例)
第一步:配置tomcat,和你刚才填写的开发信息要一致(配置tomcat的具体步骤我就跳过了哈):

第二步:导入易班官方给的依赖包(这个在SDK包里的两个lib文件夹里),全部导入到项目中(后续文章再介绍用maven管理的方式导入)



第三步:导入官方示例页面及配套代码(这个页面做测试的时候用,后面再换成自己的页面就好了),用这三个即可,

特殊说明:这里我为了方便把官方的代码移动到根目录的src文件夹了,这个大家怎么舒服怎么来就好。

第四步:搭建跳转易班官方登录页面的jsp。
这个请求方式官方没有直接给.jsp我们,但是把代码放在了
YBApi_sdk_java\YBApi_sdk_java_20150820\doc这个文档里的“易班开放平台接入新手教程(Java版).docx”文档。
文档对应的部分如下:

我们创建一个authorize.jsp文件(为了方便我直接放在根目录了),然后把示例代码给复制进来,那三个参数就是刚才生成的应用官方给你的ID和秘钥。

第五步:修改Authorization.java文件,把授权成功后跳回的页面路径是不是官方给我们的index.html页面。

还有这里:
授权失败的跳转那里全部都要记得加上return;不然会报多次跳转的异常,授权失败的地址修改成开头的请求官方登录页面的那个authorize.jsp。

第六步:配置web.xml
这个xml文件就在官方文档的WEB-INF文件夹里,刚才已经复制进来了。如果你像我一样换了官方的servlet和util的位置,你就改一下划红线的类位置就行。

设置初始启动的页面:
还记得刚才我们创建的authorize.jsp文件吗?那里用到了response.sendRedirect();,说明这个文件的作用就是将我们的ID和秘钥以及回调地址发给易班官方,如果匹配就返回官方登录的页面给我们,我们用自己的易班登录页面登录后就浏览器跳转回我们的回调地址。为了方便我们只需要在web.xml设置一下服务器启动就打开authorize.jsp,在web.xml文件里加入这句话即可:

启动自己的web项目

一打开,就发现自动跳转到官方登录界面了!这说明,我们的authorize.jsp里的代码工作正常,那个返回的url地址对应的就是官方登录页面的地址以及其他参数。


我们登录一下,然后就跳转到刚才自己设置的回调地址了。

授权测试

这个时候我们发现下面的按钮还是白色,这时候就要初始化一下我们本地的服务器(因为后续的一切调用API都是用我们的服务器后端去请求官方的API,而不是从前端请求)。

将刚才的ID和秘钥填进去,点“设定”。

当第一个按钮变成绿色,说明本地服务器关于本应用参数已初始化成功!
然后,我们进行调用一下我们刚才servlet里的Authorization进行授权。还记得怎么调用Authorization吗?不记得就看一眼web.xml文件:

噢,请求名就是auth,用get方法。那我们就可以直接将刚才登陆成功后生成的code拼到地址里,进行请求:

当授权成功,自动跳回刚才官方给我们的测试页面,此时页面已经变成了这样:

这些接口都变成了绿色,说明我们的这些接口都可以用了。为了看调用接口后易班官方给我们返回来的信息,我们直接在后端进行输出吧(在Execution里修改就行):

看一眼后端输出(我点了授权查询、基本信息和好友列表),后端输出这三行信息:

至于其中每个字段对应的具体含义,去易班api那里查就好啦。

介绍完毕!敬请匹配指正!接下来我会另写一篇博客介绍如何在springboot框架下进行前后端分离开发式的调用易班官方登录功能。

关于JCE报错:

如果程序运行的时候后端报错:Could not initialize class javax.crypto.JceSecurity ,可以这么解决:
下载新的local_policy.jar和US_export_policy.jar,
替换本地的%JAVA_HOME% /jre/lib/sercurity/ 中的 local_policy.jar 和 US_export_policy.jar这两个依赖包(刚才下载的SDK里也有,但是易班文档给的那两个我用不了,换成新的我就能用了)。
如果你们的JDK版本是7,来这个地址下载:https://www.oracle.com/java/technologies/javase-jce7-downloads.html
如果你们的JDK版本是8,来这里下载:
https://www.oracle.com/java/technologies/javase-jce8-downloads.html

如何使用java调用易班登录API获取个人账号信息(一)相关推荐

  1. Java调用有道翻译API包括APPID/密钥地址注册

    Java调用有道翻译API 因为上次发的资源用的我的APPID 导致我的服务已经停用了-- 现在把地址也一并奉上 希望都可以自己注册. APPID/密钥 注册地址:http://ai.youdao.c ...

  2. html调用腾讯地图定位当前位置,vue web项目中调用腾讯地图API获取当前位置的经纬度...

    vue web项目中调用腾讯地图API获取当前位置的经纬度 vue web项目中调用腾讯地图API获取当前位置的经纬度 在main.js 中添加一下代码 import axios from 'axio ...

  3. 小程序笔记(9)调用腾讯api获取周边饮食店信息

    调用腾讯api获取周边饮食店信息 实现功能 实现流程 基本逻辑实现 开始注册key 开始代码 先配置app.json中的权限获取 index.wxml index.wxss index.jssssss ...

  4. 百度地图利用位置提供服务器,利用百度地图API获取当前位置信息的实例

    利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了.这里分享一个制作的JS可以实现登录网页后定位: var map; var gpsPoint; var baiduPoint; ...

  5. (详解)钉钉接口,PC端微应用,免登录及获取当前用户信息

    1.用了两天的时间,一直在研究微应用的,免登录及获取用户信息这一块. 但是钉钉官网写的太繁杂了,看了一天,硬是没看明白,最后,硬着头皮,一点点查资料,借鉴别人的代码,终于 研究 出来了,为了防止 年轻 ...

  6. Python 使用 twitter API 获取twitter用户信息

    Python 使用 twitter API 获取twitter用户信息 1. 概述 twitter作为国外极其大众化的社交平台,具有大量的海外用户,平台流动数据量极大,是国外人群生活数据的重要来源之一 ...

  7. Python3 | 通过百度地图API获取商家详细信息(包括店名,地址,经纬度,电话)

    一.打开百度地图开放平台,选择Web服务API . ​​​​​​官方文档对API接口的调用描述的比较详细,在调用之前先要申请百度地图的账号,然后申请密钥,获取密钥的步骤官方也有说明. 二.通过百度地图 ...

  8. android 从新浪微博获取用户信息,Android授权登录新浪微博获取用户个人信息

    Android授权登录新浪微博获取用户个人信息 Android授权登录新浪微博获取用户个 人信息 一.准备工作 我们都知道,无论是分享到新浪微博,还是获取新浪微博的用户信息,都离不开一样东西,那就是新 ...

  9. php实现易班登录,简单的易班申请授权以及使用方式

    //以下三个变量内容需换成本应用的$APPID = ""; //在open.yiban.cn管理中心的AppID$APPSECRET = ""; //在open ...

最新文章

  1. 【重磅干货】Python、机器学习、深度学习算法实战和应用必备书籍
  2. win10 远程问题汇总
  3. vs当前文件的函数索引_VM实战(六) - 通过案例深入学习class文件结构原理
  4. python自学课堂_python怎么自学要那本书
  5. Web页面执行shell命令
  6. python高斯核函数_python 实现高斯核与卷积过程
  7. Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?
  8. 2022-2028年中国罐头行业市场专项调研及发展策略分析报告
  9. 学英语查单词:快乐英语,简单生活,why not Bing EngKoo!?
  10. PMI-PBA 商业分析师 认证简介
  11. 软件实施人员具备的技能和素养
  12. 误发邮件怎么办?发错邮件如何撤回?/
  13. 蚂蚁java一二三面面经
  14. 如何在autocad中制作幻灯片文件(.sld)
  15. pip 常用命令及控制台怎么查看python 及pip 和已安装包版本号
  16. APM32 ST-LINK不能刷入
  17. DASCTF Oct X 吉林工师-欢迎来到魔法世界-misc-魔法少女的迷音(复现)
  18. Python获取手机4K壁纸,一个入门练手的案例
  19. Away3D 基础5 - 3D基本元素(3)
  20. Gamma分布,Beta分布,多项式分布,Dirichlet狄利克雷分布

热门文章

  1. Python源码加密与Pytorch模型加密
  2. 数字IC/FPGA设计第一大群(超1600+),群主电子科大06级师兄
  3. C++函数返回右值引用
  4. WebDAV之葫芦儿·派盘 + Enpass
  5. 数智运营 创见未来| 2023永洪科技城市峰会·北京站成功举办
  6. Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API
  7. 如何在Android 10中从后台启动活动
  8. C++-Windows消息循环GetMessage/TranslateMessage/DispatchMessage
  9. 挂载mount: 文件系统类型错误、选项错误 有坏超级块
  10. 高校 招生迎新大数据分析系统解决方案(ppt)