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

关于这篇文章:

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

文章目录

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

申请成为开发者账号

第一步:登录易班开放平台网站:https://o.yiban.cn/
第二步:进入个人中心:
如何使用java调用易班登录API获取个人账号信息(一)_第1张图片
第三步:按照标题填写好个人信息进去就好。
如何使用java调用易班登录API获取个人账号信息(一)_第2张图片
然后就坐等两三天左右的消息回馈就好啦!
如何使用java调用易班登录API获取个人账号信息(一)_第3张图片

创建应用接入

为了演示方便,我们这次创建网站接入。
第一步:进入管理中心,点击绿色按钮“创建网站接入”。
第二步:填写基本信息,这一步按照标题提示填写就好啦;
如何使用java调用易班登录API获取个人账号信息(一)_第4张图片

第三步:填写开发信息。
主要是这三个信息:网站地址、维护地址和授权回调地址。以下是我自己的设置,大家可根据自己的需要自行调整:如何使用java调用易班登录API获取个人账号信息(一)_第5张图片

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

如何使用java调用易班登录API获取个人账号信息(一)_第6张图片
到这一步,你已经拥有自己的测试权限了。

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

第一步:进入易班开放平台的文档中心:易班开放平台wiki文档
第二步:下载我们需要的SDK(这次介绍java的那就下载JAVA对应的SDK),解压它(里面的文档大家有兴趣就自行查看哈,这里就不作重复介绍了)。
如何使用java调用易班登录API获取个人账号信息(一)_第7张图片

创建Web项目

(我这里不小心点到了maven项目,但是不影响,我依然会以官方文档的介绍方式给大家做示例)
第一步:配置tomcat,和你刚才填写的开发信息要一致(配置tomcat的具体步骤我就跳过了哈):
如何使用java调用易班登录API获取个人账号信息(一)_第8张图片
第二步:导入易班官方给的依赖包(这个在SDK包里的两个lib文件夹里),全部导入到项目中(后续文章再介绍用maven管理的方式导入)
如何使用java调用易班登录API获取个人账号信息(一)_第9张图片
如何使用java调用易班登录API获取个人账号信息(一)_第10张图片
如何使用java调用易班登录API获取个人账号信息(一)_第11张图片
第三步:导入官方示例页面及配套代码(这个页面做测试的时候用,后面再换成自己的页面就好了),用这三个即可,
如何使用java调用易班登录API获取个人账号信息(一)_第12张图片

特殊说明:这里我为了方便把官方的代码移动到根目录的src文件夹了,这个大家怎么舒服怎么来就好。
如何使用java调用易班登录API获取个人账号信息(一)_第13张图片

第四步:搭建跳转易班官方登录页面的jsp。
这个请求方式官方没有直接给.jsp我们,但是把代码放在了
YBApi_sdk_java\YBApi_sdk_java_20150820\doc这个文档里的“易班开放平台接入新手教程(Java版).docx”文档。
文档对应的部分如下:
如何使用java调用易班登录API获取个人账号信息(一)_第14张图片
我们创建一个authorize.jsp文件(为了方便我直接放在根目录了),然后把示例代码给复制进来,那三个参数就是刚才生成的应用官方给你的ID和秘钥。
如何使用java调用易班登录API获取个人账号信息(一)_第15张图片
第五步:修改Authorization.java文件,把授权成功后跳回的页面路径是不是官方给我们的index.html页面。
如何使用java调用易班登录API获取个人账号信息(一)_第16张图片
还有这里:
授权失败的跳转那里全部都要记得加上return;不然会报多次跳转的异常,授权失败的地址修改成开头的请求官方登录页面的那个authorize.jsp。
如何使用java调用易班登录API获取个人账号信息(一)_第17张图片

第六步:配置web.xml
这个xml文件就在官方文档的WEB-INF文件夹里,刚才已经复制进来了。如果你像我一样换了官方的servlet和util的位置,你就改一下划红线的类位置就行。
如何使用java调用易班登录API获取个人账号信息(一)_第18张图片
设置初始启动的页面:
还记得刚才我们创建的authorize.jsp文件吗?那里用到了response.sendRedirect();,说明这个文件的作用就是将我们的ID和秘钥以及回调地址发给易班官方,如果匹配就返回官方登录的页面给我们,我们用自己的易班登录页面登录后就浏览器跳转回我们的回调地址。为了方便我们只需要在web.xml设置一下服务器启动就打开authorize.jsp,在web.xml文件里加入这句话即可:
如何使用java调用易班登录API获取个人账号信息(一)_第19张图片

启动自己的web项目

一打开,就发现自动跳转到官方登录界面了!这说明,我们的authorize.jsp里的代码工作正常,那个返回的url地址对应的就是官方登录页面的地址以及其他参数。
如何使用java调用易班登录API获取个人账号信息(一)_第20张图片
如何使用java调用易班登录API获取个人账号信息(一)_第21张图片
我们登录一下,然后就跳转到刚才自己设置的回调地址了。

授权测试

这个时候我们发现下面的按钮还是白色,这时候就要初始化一下我们本地的服务器(因为后续的一切调用API都是用我们的服务器后端去请求官方的API,而不是从前端请求)。
如何使用java调用易班登录API获取个人账号信息(一)_第22张图片
将刚才的ID和秘钥填进去,点“设定”。
如何使用java调用易班登录API获取个人账号信息(一)_第23张图片

当第一个按钮变成绿色,说明本地服务器关于本应用参数已初始化成功!
然后,我们进行调用一下我们刚才servlet里的Authorization进行授权。还记得怎么调用Authorization吗?不记得就看一眼web.xml文件:
如何使用java调用易班登录API获取个人账号信息(一)_第24张图片
如何使用java调用易班登录API获取个人账号信息(一)_第25张图片

噢,请求名就是auth,用get方法。那我们就可以直接将刚才登陆成功后生成的code拼到地址里,进行请求:
在这里插入图片描述
当授权成功,自动跳回刚才官方给我们的测试页面,此时页面已经变成了这样:
如何使用java调用易班登录API获取个人账号信息(一)_第26张图片

这些接口都变成了绿色,说明我们的这些接口都可以用了。为了看调用接口后易班官方给我们返回来的信息,我们直接在后端进行输出吧(在Execution里修改就行):
如何使用java调用易班登录API获取个人账号信息(一)_第27张图片
看一眼后端输出(我点了授权查询、基本信息和好友列表),后端输出这三行信息:
在这里插入图片描述
至于其中每个字段对应的具体含义,去易班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,JSP)