基於易班開放平臺的接入實例

一丶準備工作

java的jdk和tomcat服務器的下載就不多贅述了,去官網下載就好了,易班的jdk是一定要下載的https://o.yiban.cn/wiki/index.php?page=SDK%E4%B8%8B%E8%BD%BD這個是連接。WEB-INF目錄下的lib文件夾中的jar我存到百度雲中了鏈接:https://pan.baidu.com/s/1BaWpe1ejclxhN18qECVtgg 提取碼:ov0l 

二丶環境的搭建

在易班的jdk中有文檔介紹的很詳細,在這裏我只是粘貼一下。

         配置開發環境需要配置環境變量,可以在開始菜單中的【我的電腦】或【計算機】上

         點擊鼠標右鍵彈出的快捷菜單中選屬性,進入【高級系統設置】面板;

         或打開控制面板進入,在win7中如下圖所示:

 

         @ 打開【控制面板】,進入【系統和安全】

                 

         @ 點擊進入【系統】

                 

         @ 點擊打開【高級系統設置】

                 

         @ 選擇【高級】標籤,打開【環境變量】

                 

         @ 使用此處的【新建】或【編輯】來設置環境變量

                 

 

1、Java安裝及配置

         雙擊上面下載的 jdk-8u40-windows-x64.exe 進行安裝。

         安裝完成後,需要配置環境變量 JAVA_HOME。

         在【環境變量】的面板中【新建】,如下圖,

         其中變量值爲安裝JAVA所在目錄。

        

2、Tomcat服務器安裝及配置

         直接把下載到的 apache-tomcat-8.0.20-windows-x64.zip 解壓即可,

         比如解壓到 C:\apache-tomcat-8.0.20

         需要配置環境變量 CATALINA_HOME,同上,如圖:

        

3、設置PATH變量

         將 Java 及 Tomcat 加到可執行的環境變量中,同上,如圖:

        

         其中的變量值設置爲:

         %JAVA_HOME%\bin;%CATALINA_HOME%\bin;%PATH%

        

         設置完成後,【環境變量】面板如下:

        

4、測試配置是否正確

         方法①:進入tomcat目錄下的bin目錄,雙擊startup.bat文件。

         方法②:打開命令提示符,執行 startup.bat 命令。

         若能看到TOMCAT窗口則安裝配置成功!

        

         此時可以用瀏覽器打開 http://127.0.0.1:8080/ 可以看到TOMCAT頁面。

        

         若看不到這個TOMCAT窗口,用方法二打開,在命令提示符窗口下查看什麼錯誤!

5、TOMCAT的啓動與停止

         (1)啓動:執行Tomcat目錄下的 bin/startup.bat

         (2)停止:執行Tomcat目錄下的 bin/shutdown.bat 或 直接在Tomcat窗口CTRL+C

三丶網站接入

易班給的jdk中會有詳細的介紹,我就不粘貼了。
四丶授權

在易班給的文檔裏jie接口的實現是一個部分,我把它掰開來說,一是授權頁面,二是回調頁面。

先說授權頁面

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="cn.yiban.open.Authorize" %>     一定要引入這個包

<!DOCTYPE>
<html>
  <head>
  <title>授權</title>
  </head>
  
  <body>
   <%!
		String appKey  = "應用的AppID";
		String appSecret = "應用的AppSecret";
		String callbackurl = "回調地址";
	%>
	<%
		Authorize au = new Authorize(appKey, appSecret);//實例化授權對象
	%>
	<%
		String url = au.forwardurl(callbackurl, "test", Authorize.DISPLAY_TAG_T.WEB);//定向授權頁面
		response.sendRedirect(url);
	%>
  </body>
</html>

這樣授權之後就會定向定向你的回調地址了,我的代碼只是說一下概念並不能直接運行,需要你自己敲哦,哈哈。

五丶回調

敲黑板,劃重點啦!!!

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@page import="cn.yiban.open.common.User"%>  這兩個易班的包是必須要引入的
<%@page import="cn.yiban.open.Authorize"%>

<%@page import="com.alibaba.fastjson.JSON"%>       這幾個阿里巴巴的fistjson的包在解析接口的返回值時會有大用的,這個我也是問過夜鶯大大才知道的。
<%@page import="com.alibaba.fastjson.JSONObject"%>
<%@page import="com.alibaba.fastjson.JSONException"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>易班主頁</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  <body>
    <%!
		String appKey  = "";
		String appSecret = "";
		String callbackurl = "";
	%>
    <% 
	    //實例化授權對象
        Authorize au = new Authorize(appKey, appSecret);

		//獲取URL中返回了可以訪問令牌的授權碼
		String code = request.getParameter("code");

		/*獲取授權令牌
		返回值是json類型,需要用json庫來對返回值進行解釋處理
		必須要Alibaba公司的fastjson解析*/
		String text = au.querytoken(code, callbackurl);
		
        //先輸出一下看看
		out.println(text);
		
		//實例化json對象
		JSONObject json = JSON.parseObject(text);

		//獲得accessToken授權憑證
		String accessToken = json.getString("access_token");

	%>
	<%
		//用授權憑證獲得易班的User用戶對象
		cn.yiban.open.common.User yibanUser = new cn.yiban.open.common.User(accessToken);

		//把user保存到session方便後續獲取數據
		request.getSession().setAttribute("yibanUser", yibanUser);

		//得到user的info轉化成文本
		String jsontext = yibanUser.me();
		//new一個JSONObject對象
		JSONObject m=new JSONObject();
        m=JSON.parseObject(jsontext);//將json文本轉化爲jsonobject
        //out.println(m);
        //new一個userInfo作爲m的子對象
        JSONObject userInfo = new JSONObject();
		//將jsoninfo轉化爲jsonobject
        userInfo = JSON.parseObject(m.getString("info"));

	%>
	<h1><%=userInfo.getString("yb_username")%></h1>
	<h2>這裏是主頁</h2>
<h4>登錄用戶信息</h4>
<table>
	<tr>
		<td>用戶ID</td>
		<td><%=userInfo.getString("yb_userid") %></td>
		<td>用戶名</td>
		<td><%=userInfo.getString("yb_username") %></td>
		<td>用戶暱稱</td>
		<td><%=userInfo.getString("yb_usernick") %></td>
	</tr>
	<tr>
		<td>性別</td>
		<td><%=userInfo.getString("yb_sex") %></td>
		<td>網薪數</td>
		<td><%=userInfo.getString("yb_money") %></td>
		<td>經驗值</td>
		<td><%=userInfo.getString("yb_exp") %></td>
	</tr>
	<tr>
		<td>用戶頭像</td>
		<td><img src="<%=userInfo.getString("yb_userhead")%>"></td>
		<td>註冊時間</td>
		<td><%=userInfo.getString("yb_regtime") %></td>
		<td>學校名字和ID</td>
		<td><%=userInfo.getString("yb_schoolid") %>:<%=userInfo.getString("yb_schoolname") %></td>
	</tr>
</table>
  </body>
</html>

我也就是剛剛實現了接口,沒有繼續往下做,沒有做具體的項目,沒有寫攔截器,JavaBean文件,servlet之類的。

參考資料: 
https://blog.csdn.net/u010513756/article/details/50535657 
https://blog.csdn.net/qq_33698579/article/details/78241695

https://blog.csdn.net/qq_42862882/article/details/82556840

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章