56网开放平台SDK
2012-11-20 21:46
537 查看
<?php /** *56.com open api sdk * *@author: lost404 <email: lost404@163.com qq:1256927761> *@copyright: caovel.com lost404 *@version: 1.0 *@support website: http://www.lost404.com */ class Open56{ public static $appkey = '';//app 密钥 public static $secret = '';//app 密码 public static $domain = '';//api请求的域名 public static $f;//fetch_url 实例 public static $access_token = '';//获取到的用户的access_token public static $redirect_uri = 'http://www.caovel.com/api/redirect.php'; //回调地址 public static $access_token_uri = ' https://oauth.56.com/oauth/access_token'; //获取access_token的地址 public static $code_uri = 'https://oauth.56.com/oauth/index'; //获取code的地址 public static function init($config){ self::$appkey = $config['appkey']; self::$secret = $config['secret']; self::$domain = $config['domain']; self::$f = new SaeFetchurl(); } /** * @description 获取应用信息 * * @link user/appProfile.json * @param $format 返回数据的格式 * @return json/array */ public static function appProfile($format = 'array'){ $return = self::get('user/appProfile.json', array(), $format); return $return; } /** * @description 获取视频信息 * $params = array('vid' => $vid); * @link video/getVideoInfo.json * @param $format 返回数据的格式 * @param $vid 视频的id * @return json/array */ public static function getVideoInfo($params = array(), $format = 'array'){ $return = self::get('video/getVideoInfo.json', $params, $format); return $return; } /** * @description 视频搜索 * $params = array('keyword' => $keyword, 'page' => $page, 'rows' => $rows, 'c' => $c, 's' => $s, 't' => $t); * @link video/search.json * @param $format 返回数据的格式 * @param $keyword 关键字 * @param $page 第几页 * @param $rows 每页显示几条 * @param $c * @param $s * @param $t * @return json/array */ public static function videoSearch($params = array(), $format = 'array'){ $params['keyword'] = urlencode($params['keyword']); $return = self::get('video/search.json', $params, $format); return $return; } /** * @description 获取用户上传的视频 * $params = array('userid' => $userid, 'page' => $page, 'rows' => $rows, 's' => $s); * @link video/userVideos.json * @param $format 返回数据的格式 * @param $userid 要查询的用户的id * @param $page 第几页 * @param $rows 每页显示几条 * @param $s * @return json/array */ public static function userVideos($params = array(), $format = 'array'){ self::checkLogin(); $params['access_token'] = self::$access_token; $return = self::get('video/userVideos.json', $params, $format); return $return; } /** * @description 获取用户的评论 * $params = array('page' => $page, 'userid' => $userid, 'tid' => $tid, 'rows' => $rows , 'pct' => $pct, 'type' => $type); * @link user/userComments.json * @param $format 返回的格式的格式 * @param $page 要获取的页面编号. * @param $userid 要获取的用户的id。 * @param $tid 视频的id。 * @param $rows 每页显示多少条. * @param $pct * @param $type 类型 * @return json/array */ public static function userComments($params, $format = 'array'){ self::checkLogin(); $params['access_token'] = self::$access_token; $return = self::get('user/userComments.json', $params, $format); return $return; } /** * @description 获取用户信息 * $params = array('userid' => $userid); * @link user/userProfile.json * @param $format 返回数据的格式 * @param $userid 要获取的用户id * @return json/array */ public static function userProfile($params, $format = 'array'){ self::checkLogin(); $params['access_token'] = self::$access_token; $return = self::get('user/userProfile.json', $params, $format); return $return; } /** * @description 获取频道信息 * $params = array('cid' => $cid, 'num' => $num, 'page' => $page); * @link video/channel.json * @param $format 返回数据的格式 * @param $cid 频道id * @param $num 每页显示多少条 * @param $page 第几页 * @return json/array */ public static function channel($params, $format = 'array'){ $return = self::get('video/channel.json', $params, $format); return $return; } /** * @description * $params = array('mid' => $mid, 'num' => $num, 'page' => $page); * @link video/recommend.json * @param $format 返回数据的格式 * @param $mid * @param $num 每页显示多少条 * @param $page 第几页 * @return json/array */ public static function recommend($params, $format = 'array'){ $return = self::get('video/recommend.json', $params); return $return; } /** * @description 热点 * $params = array('cid' => $cid, 'page' => $page, 'num' => $num); * @link video/hot.json * @param $format 返回数据的格式 * @param $cid 分类id * @param $page 第几页 * @param $num 每页显示多少条 * @return json/array */ public static function hot($params, $format = 'array'){ $return = self::get('video/hot.json', $params, $format); return $return; } /** * description 相册视频 * $params = array('day' => $day); * @link video/recAlbum.json * @param $format 返回数据的格式 * @param $day 日期 * @return json/array */ public static function recAlbum($params, $format = 'array'){ $return = self::get('video/recAlbum.json', $params, $format); return $return; } /** * @description 获取应用下上传的视频 * $params = array('page' => $page, 'rows' => $rows, 's' => $s); * @link user/appVideos.json * @param $format 返回数据的格式 * @param $page 第几页 * @param $rows 每页显示的条数 * @param $s * @return json/array */ public static function appVideos($params = array(), $format = 'array'){ $return = self::get('user/appVideos.json', $params, $format); return $return; } /** * @description 删除视频 * $params = array('vid' => $vid); * @link video/delete.json * @param $format 返回数据的格式 * @param $vid 待删除视频的id * @return json/array */ public static function deleteVideo($params = array(), $format = 'array'){ $return = self::get('video/delete.json', $params, $format); return $return; } /** * @description * $params = array('ids' => $ids); * @link service/status.json * @param $format 返回数据的格式 * @param $ids * @return json/array */ public static function statues($params = array(), $format = 'array'){ $return = self::get('service/status.json', $params, $format); return $return; } /** * @description * $par 4000 ams = array('xml_url' => $xml_url, 'stime' => $stime, 'maxnum' => $maxnum); * @link service/uploadMutil.json * @param $format 返回数据的格式 * @param $xml_url * @param $stime * @param $maxnum 最大限制 * @return json/array */ public static function uploadMutil($params = array(), $format = 'array'){ $return = self::get('service/uploadMutil.json', $params, $format); return $return; } /** * @description 相册信息 * $params = array('aid' => $aid); * @link album/info.json * @param $format 返回数据的格式 * @param $aid 相册的id * @param json/array */ public static function albumInfo($params = array(), $format = 'array'){ $return = self::get('album/info.json', $params, $format); return $return; } /** * @description 该应用下用户上传的视频 * $params = array('sid' => $sid, 'page' => $page, 'rows' => $rows); * @link user/appUserVideos.json * @param $format 返回数据的格式 * @param $sid * @param $page 第几页 * @param $rows 每页显示的条数 * @return json/array */ public static function appUserVideos($params = array(), $format = 'array'){ $return = self::get('user/appUserVideos.json', $params, $format); return $return; } /** * @description 视频手机播放地址 * $params = array('vid' => $vid); * @link video/mobile.json * @param $format 返回数据的格式 * @param $vid 视频的id * @return json/array */ public static function mobileVideo($params = array(), $format = 'array'){ $return = self::get('video/mobile.json', $params, $format); return $return; } /** * @description * $params = array('page' => $page, 'rows' => $rows); * @link user/app2Videos.json * @param $format 返回数据的格式 * @param $page 第几页 * @param $rows 每页显示的条数 * @return json/array */ public static function app2Videos($params, $format = 'array'){ $return = self::get('user/app2Videos.json', $params, $format); return $return; } /** * @description 上传组件 * $params = array('sid' => $sid, 'css' => $css, 'rurl' => $rurl, 'ourl' => $ourl, 'public' => $public); * @link video/custom.plugin * @param $sid * @param $css 自定义的css样式 * @param $ourl 上传成功的返回地址 * @param $rurl 上传失败的返回地址 * @param $public 是否公开 * @return html */ public static function uploadCustom($params = array()){ $return = self::get('video/custom.plugin', $params, 'html'); return $return; } /** * @description 建议上传组件 * * @link video/upload.plugin * @return html */ public static function uploadSimple(){ $arr = self::get('video/upload.plugin', array(), 'html'); return $arr; } /** * @description 自定义上传组件 * $params = array('sid' => $sid, 'css' => $css, 'ourl' => $ourl, 'rurl' => $rurl, 'public' => $public, 'fields' => $fields); * @link video/custom.plugin * @param $sid * @param $css 自定义的css样式 * @param $ourl 上传成功的返回地址 * @param $rurl 上传失败的返回地址 * @param $public 是否公开 * @param $fields 自定义字段 * @return html */ public function uploadDiy($params = array()){ $return = self::get('video/custom.plugin', $params, 'html'); return $return; } /** * @description 执行查询 * * @param $action api地址 * @param $params 请求的参数 * @param $format 返回的数据格式 * @return json/array/html */ public function get($action, $params, $format = 'array'){ $ts = time(); $sign = self::sign($params, $ts); $params['ts'] = $ts; $params['appkey'] = self::$appkey; $params['sign'] = $sign; $param = http_build_query($params); $url = self::$domain . $action . '?' . $param; $return = self::$f -> fetch($url); if($format == 'array'){ $return = json_decode($return, true); } return $return; } /** * @description 生成签名 * * @param $params 参数 * @param $time 时间戳 * @return string $sign */ public static function sign($params, $time){ $keys = array_keys($params); sort($keys); $param = array(); foreach($keys as $key => $value){ $param[$value] = $params[$value]; } $str = http_build_query($param); $md5_str = md5($str); $sign = md5($md5_str . '#' . self::$appkey . '#' . self::$secret . '#' . $time); return $sign; } /** * @description 检测是否登录并进行授权请求 */ public static function checkLogin(){ if(isset($_SESSION['open56_access_token'])){ self::$access_token = $_SESSION['open56_access_token']; return ture; } else{ if(isset($_SESSION['open56_code'])){ $params = array(); $params['grant_type'] = 'authorization_code'; $params['client_id'] = self::$appkey; $params['client_secret'] = self::$secret; $params['redirect_uri'] = self::$redirect_uri; $params['code'] = $_SESSION['open56_code']; $param = http_build_query($params); $url = self::$access_token_uri . '?' . $param; herder('Location:' . $url); exit; } else{ $params = array(); $params['response_type'] = 'code'; $params['scope'] = 'basic'; $params['client_id'] = self::$appkey; $params['redirect_uri'] = self::$redirect_uri; $params['state'] = 1; $param = http_build_query($params); $url = self::$code_uri . '?' . $param; header('Location:' . $url); exit; } } } } ?>
相关文章推荐
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- 基于高德开放平台SDK的定位Demo
- 迅雷oauth开放平台SDK(直接可以用)
- iOS 集成微信开放平台 sdk 编译不过
- 开放平台的Android SDK
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
- IOS 腾讯微博开放平台 SDK 初体验
- 百度语音识别开放平台SDK使用方法
- Android微信开放平台SDK, demo调试
- 淘宝Open!Open淘宝!厌烦了淘宝Open开放平台的臃肿的SDK?试试清爽版吧。。【Only PHP】
- 新浪开放平台入门及基本步骤(java SDK)
- 同程旅游网开放平台SDK开发完成
- qq互联开放平台 开源SDK共享 常见问题
- 云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK。
- 新浪微博开放平台API for .Net SDK---很不错,赞一个
- 各开放平台API接口通用SDK序列文章 前言
- 新浪微博开放平台:java SDK介绍及使用说明
- jeewx-api 1.0.5 版本发布,微信SDK接口封装(支持微信第三方开放平台)
- 同程旅游网开放平台SDK开发完成