易班轻应用开发:PHP版

最近易班的APP接入了我们学校,虽然很多地区评价为毒瘤,流氓等等,应用市场评价也是最低级别。但是,作为开发者,就不管它了,本文写的是一个查询成绩的轻应用(传送门:青果教务查成绩),这里就只说说,如何接入易班接口。

由于,查询成绩的应用,是爬虫获取的,其实也没必要调用易班接口,但是,使用易班接口,可以在后台查看使用情况,这点倒是很方便啦。贴一个小图:

易班轻应用开发:PHP版_第1张图片

 下面开始介入易班:使用的PHP版SDK,首先去易班下载(传送门:PHP_SDK)

下载下来,有三个类型的SDK,我们选择轻应用,然后有两个文件夹:classes和demo

classes目录:

 

易班轻应用开发:PHP版_第2张图片

demo:这里config有两个,请忽略2,因为上传Git,有些内容(APPKEY)需要保留。

apitest:演示了如何使用示例接口。

config:配置你的APPkey和秘钥与授权完成,回调页面。

iapp:请求获取授权。

revoke:取消授权

index:演示程序的首页

易班轻应用开发:PHP版_第3张图片

 

SDK的接口很清晰了,异常,转码,接口,入口。

易班官网给了这么个流程图:。。。

易班轻应用开发:PHP版_第4张图片

 

总的来说:就是应用初始化时候,去请求易班接口,查询是否用户已经授权,如果授权,则重定向到应用首页(这一步,易班API自动完成,我们填写个回调页面就ok)。当然,你也可以直接弄一个页面引导用户授权。

下面是我应用的首页代码:首先获取API实例,然后就检查授权状态:perform(),接下来获取token,这里调用的基本信息API,其它的自行查阅官网。代码中的bind($token)是绑定现在的token,如果继续调用其它接口,就不用了传token了。API请求使用request(),返回的数据是JSON格式。下面是拿到了授权用户的昵称(实名需要更高的权限,需要申请)。

session_start();
require("./classes/yb-globals.inc.php");
require_once './config.php';
//初始化
    $api = YBOpenApi::getInstance()->init($config['AppID'], $config['AppSecret'], $config['CallBack']);
    $iapp  = $api->getIApp();
    
    try {
       //轻应用获取access_token,未授权则跳转至授权页面
       $info = $iapp->perform();
    } catch (YBException $ex) {
       echo $ex->getMessage();
    }
    $token = $info['visit_oauth']['access_token'];//轻应用获取的token
    $_SESSION['token'] = $token;
    $api->bind($token);
    //获取基本用户信息
    $userInfo = $api->request('user/me');
    //去除用户名
    $info = $userInfo['info'];
    //存储到Session
    $_SESSION['userName'] = $info['yb_username']

 ?>

这是自动检测授权,还有一种就是我们主动发起授权申请:state是防止跨站伪造的参数,这里用的时间戳。

这个页面会主动调取授权请求。


下面是撤销授权:




	xx
	



init($config['AppID'], $config['AppSecret'], $config['CallBack']);
$api->bind($token);
?>

调用取消用户授权后的返回结果

request('oauth/revoke_token', array('client_id'=>$api->getConfig('appid')), true); ?>

撤销授权成功,下次访问DEMO时会重新要求用户授权

返回首页!

 

好了。其它接口的信息大家可以自行查询官网。

 

最后有个要注意的地方:如果你是在本地测试,授权页面填写本地的就好了,如果是上线了,就填写易班站内地址,不然授权会报错,提示不是应用内发起授权申请。

 'xxx',     //appid
	    'AppSecret' => 'xxx',     //AppSecret
	    'CallBack'  => 'http://f.yiban.cn/iappxxx,      //授权回调地址,轻应用站内地址
	);

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(php学习)