您的位置:首页 > 其它

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;
}
}
}
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: