天天看點

基于易班開放平台接入研究與探索基于易班開放平台接入研究與探索

基于易班開放平台接入研究與探索

平台介紹

​  易班是提供教育教學、生活服務、文化娛樂的綜合性互動社群。已經成為全國教育系統的知名文化品牌。

易班開放平台是指由易班網所享有并營運的軟體和提供的服務, 開發者可通過這些軟體和服務開發易班插件及應用元件。您可以登入平台注冊成為開發者,使用易班開放平台提供的接口, 建立有趣的應用或者讓您的網站具有更強的社交特性和更多的使用者。

易班開放平台目前開放了輕應用、網站接入和移動APP等類型的接入。易班開放平台可以為您提供易班的賬戶體系、關系體系、分享體系等相關接口, 更多内容檢視易班API。 您可以通過簡單的代碼整合,在您的網站上放置易班登入按鈕,您的網站使用者就能夠使用易班賬号進行登入。 您也可以将應用接入易班輕應用,使用者可以在易班用戶端、應用廣場直接通路您的應用。易班開放平台可以幫助您提升網站的使用者注冊量和提升網站通路資料。

準備工作

本次教程後端以PHP為例,對易班開放平台的功能與新系統進行整合。利用

php 7.1.8

作為伺服器後端開發環境,對伺服器與易班開放平台進行對接。利用易班開放平台提供的

php SDK

(MD5:

0A5FB0860C7FA3A5D7E7F7E8EE0C2EDF

)與封裝單例模式運作在swoole中,大大優化了IO性能。

基于易班開放平台接入研究與探索基于易班開放平台接入研究與探索

授權機制

易班api的通路大多都需要驗證使用者身份,而oauth2.0是目前最主要的使用者身份驗證和授權方式。關于易班授權流程如圖所示。 開發者可以先浏覽 易班授權接口 的文檔,熟悉易班授權接口和參數含義,然後以 應用場景 分别說明如何使用易班授權。

基于易班開放平台接入研究與探索基于易班開放平台接入研究與探索

接入流程

  • 接入易班開發平台需要進行以下兩項前置工作。

    1、進入易班開放平台,申請成為開發者并等待稽核。

    2、稽核通過後,建立web應用并擷取APPID和APPSECRET,設定首頁位址與回調位址

注意,回調位址必須運作在公網中,且外部伺服器可通路的位址。

本次程式使用EasySwoole架構,是以在

\Conf\Config

命名空間内添加

userConf()

。該項配置是使易班單例程式可以獲得全局配置

<?php
private function userConf(){
    return array(
        "yiban" => [
            'AppID'     => '此處填寫你的appid',
            'AppSecret' => '此處填寫你的AppSecret',
            'CallBack'  => '此處填寫你的授權回調位址',
        ]
    );
}
           

将易班SDK解壓并複制到

\App\Library\SDK\yiban

,在

\App\Library

檔案夾中建立

Yiban.php

,并寫入以下檔案:

<?php
namespace App\Library;
include ROOT . '/App/Library/SDK/yiban/yb-globals.inc.php';

use Conf\Config;

class Yiban extends \YBOpenApi
{
    public $sdk;

    static function getInstance(){
        return new self();
    }

    // 構造函數
    function __construct( $token=false )
    {
        $conf = Config::getInstance()->getConf("yiban");
        $this->init($conf['AppID'], $conf['AppSecret'], $conf['CallBack']);
        if( $token ){
            $this->bind( $token );
        }
    }

    // 通過code獲得acess_token,沒有傳入code進行登陸操作
    function getAccessToken(){
    	return $this->getAuthorize()->getToken();
    }

    // 獲得個人資訊,對應user/me接口
    function userMe(){
    	return $this->request('user/me');
    }

    // 獲得校方認證資訊,對應user/verify_me接口
    function verifyMe(){
        return $this->request('user/verify_me');
    }
}
           

對于檔案内不存在或者為開放的接口,可以自行添加,或者使用

new Yiban()->request('API');

引入

退出操作

在使用oauth/authorize接口時,已登陸使用者會直接授權,需要通路https://o.yiban.cn/ajax/logout退出登陸開放平台平台。

在退出按鈕采取增加iframe的方式進行退出開放平台登陸。具體代碼如下:

let iframe = document.createElement('iframe'); 
iframe.src="https://o.yiban.cn/ajax/logout";  
document.body.appendChild(iframe);