这个有什么不足的地方修改,希望各位多指出来short_name=826v;
$this->secret=c9a0ab2eada36f2ef4674cd899865c92;
}
/**
* 获取文章评论、转发数
* @param id(int) 文章id
* return response(json) 包含评论数和转发数
**/
public function getcomments($id){
$url=http://api.duoshuo.com/threads/counts.json;
$param['short_name']=$this->short_name;
$param['threads']=$id;
$param =http_build_query($param,'','&');
$url=$url.?.$param;
$response=$this->geturl($url);
if(empty($response)) exit(返回结果错误);
if(json_decode($response)->code==0){
return $response;
}else{
exit(json_decode($response)->errormessage);
}
}
/**
* 获取热评文章
* @param range 可选值daily:每日热评文章 weekly:每周热评文章 monthly:每月热评文章;all:总热评文章
* @param num_items(int)评论的条数 默认是5条
* @param channel_key(int) 文章所属分类
* return response(json) 包含文章的id,title等信息
**/
public function gettop($range=all,$num_items=5,$channel_key=){
$url=http://api.duoshuo.com/sites/listtopthreads.json;
$param['short_name']=$this->short_name;
$param['range']=$range;
$param['num_items']=$num_items;
$param['channel_key']=$channel_key;
$param =http_build_query($param,'','&');
$url=$url.?.$param;
$response=$this->geturl($url);
if(empty($response)) exit(返回结果错误);
if(json_decode($response)->code==0){
return $response;
}else{
exit(json_decode($response)->errormessage);
}
}
/**
* 获取文章评论
* @param range 可选值daily:每日热评文章 weekly:每周热评文章 monthly:每月热评文章;all:总热评文章
* @param id(int) 文章id
* @param page(int) 获取第几页
* @param limit(int) 每一页显示的条数
* @param order(string) 返回的评论的排序规则,可选择desc或者asc,默认是desc
* return response(json)
**/
public function getcomment($id,$page,$limit,$order=desc){
$url=http://api.duoshuo.com/threads/listposts.json;
$param['short_name']=$this->short_name;
$param['thread_key']=$id;
$param['page']=$page;
$param['limit']=$limit;
$param['order']=$order;
$param =http_build_query($param,'','&');
$url=$url.?.$param;
$response=$this->geturl($url);
if(empty($response)) exit(返回结果错误);
if(json_decode($response)->code==0){
return $response;
}else{
exit(json_decode($response)->errormessage);
}
}
/**
* 获取多说用户信息
* @param id 用户id
* return response(json)
**/
public function getusrinfo($id){
$url=http://api.duoshuo.com/users/profile.json;
$param['user_id']=$id;
$param =http_build_query($param,'','&');
$url=$url.?.$param;
$response=$this->geturl($url);
if(empty($response)) exit(返回结果错误);
if(json_decode($response)->code==0){
return $response;
}else{
exit(json_decode($response)->errormessage);
}
}
/**
* 同步用户到多说
* @param usr(array) 是一个数组可以是一维数组也可以是二维
* 例如:$usr['user_key']=1111 这个一般就是用户数据库的id
* $usr['name']=zhangsan 这个一般就是用户数据库的name
* 可选参数role(角色),avatar_url(头像),url(网站),email(邮箱),created_at(时间)
**/
public function syncusr($usr){
$url=http://api.duoshuo.com/users/import.json;
$param['short_name']=$this->short_name;
$param['secret']=$this->secret;
$s=$this->isoneortwo($usr);
if($s==1){
$param['users'][]=$usr;
}else{
foreach($usr as $k=>$v){
$param['users']=$v;
}
}
$param =http_build_query($param,'','&');
$response=$this->posturl($url,$param);
if(empty($response)) exit(返回结果错误);
if(json_decode($response)->code==0){
return $response;
}else{
exit(json_decode($response)->errormessage);
}
}
/**
* sso登录用户同步到多说
* 多说的js代码中设置回调登录地址 然后回调地址中有code
**/
public function ssosync($code){
$url=http://api.duoshuo.com/sites/join.json;
$param['short_name']=$this->short_name;
$param['code']=$code;
$param =http_build_query($param, '', '&');
$response=$this->posturl($url,$param);
if(empty($response)) exit(返回结果错误);
if(json_decode($response)->code==0){
return $response;
}else{
exit(json_decode($response)->errormessage);
}
}
//判断是几维数组
private function isoneortwo($arr){
if(is_array($arr)){
$s=1;
foreach($arr as $v){
if(is_array($v)){
$s=2;
break;
}
}
return $s;
}else{
exit(数组错误);
}
}
//curl get
private function geturl($url){
$ch = curl_init($url);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_timeout, 5);
if (!empty($options)){
curl_setopt_array($ch, $options);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
//curl post
private function posturl($url,$post_data){
$ch = curl_init();
curl_setopt($ch, curlopt_post, 1);
curl_setopt($ch, curlopt_url, $url);
curl_setopt($ch, curlopt_postfields, $post_data);
ob_start();
curl_exec($ch);
$result = ob_get_contents();
ob_end_clean();
return $result;
}
}
ad:真正免费,域名+虚机+企业邮箱=0元
