您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php QQ第三方登陆SDK程序代码_PHP教程

2026/2/6 7:36:58发布7次查看
自己重写的一个php qq第三方登陆sdk程序代码,官方的不敢恭维了所以自己再写了一个
主要是考虑到qq的php sdk写的真是太烂了,纯属是普及api知识,而不是到手就可以部署的类库。。反正自己都写了一个了,就拿出来分享下。。
什么也不多说,直接上代码。
qq_sdk.php
代码如下 复制代码
app_id . ‘&redirect_uri=’ . urlencode($this->redirect)//回调地址
. ‘&client_secret=’ . $this->app_secret . ‘&code=’ . $code; 
$token = array(); 
//expires_in 为access_token 有效时间增量 
parse_str($this->_curl_get_content($token_url), $token);
return $token; 
}
/**
* [get_open_id 获取用户唯一id,openid]
* @param [string] $token [授权码]
* @return [array] [成功返回client_id 和 openid ;失败返回error 和 error_msg]
*/ 
function get_open_id($token) 

$str = $this->_curl_get_content(‘https://graph.qq.com/oauth2.0/me?access_token=’ . $token);
if (strpos($str, “callback”) !== false) 

$lpos = strpos($str, “(“); 
$rpos = strrpos($str, “)”); 
$str = substr($str, $lpos + 1, $rpos – $lpos -1); 

$user = json_decode($str, true);
return $user; 
}
/**
* [get_user_info 获取用户信息]
* @param [string] $token [授权码]
* @param [string] $open_id [用户唯一id]
* @return [array] [ret:返回码,为0时成功。msg为错误信息,正确返回时为空。...params]
*/ 
function get_user_info($token, $open_id) 
{
//组装url
$user_info_url = ‘https://graph.qq.com/user/get_use
r_info?’
. ‘access_token=’ . $token 
. ‘&oauth_consumer_key=’ . $this->app_id 
. ‘&openid=’ . $open_id 
. ‘&format=json’;
$info = json_decode($this->_curl_get_content($user_info_url), true);
return $info; 
}
private function _curl_get_content($url) 

$ch = curl_init(); 
curl_setopt($ch, curlopt_returntransfer, true); 
curl_setopt($ch, curlopt_url, $url); 
//设置超时时间为3s
curl_setopt ($ch, curlopt_connecttimeout, 3); 
$result = curl_exec($ch); 
curl_close($ch);
return $result; 
}
}
/* end of qq_sdk.php */
使用方法:在你网站上放置超链接,地址为:https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=你的app_id&redirect_uri=你的回调地址
在回调地址上调用我上面这个qq_sdk即可。
demo如下:
 代码如下 复制代码
if(empty($_get['code'])) 

exit(‘参数非法’); 
}
include(‘qq_sdk’); 
$qq_sdk = new qq_sdk(); 
$token = $qq_sdk->get_access_token($_get['code']); 
print_r($token);
$open_id = $qq_sdk->get_open_id($token['access_token']); 
print_r($open_id);
$user_info = $qq_sdk->get_user_info($token['access_token'], $open_id['openid']); 
print_r($user_info);
http://www.bkjia.com/phpjc/444589.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/444589.htmltecharticle自己重写的一个php qq第三方登陆sdk程序代码,官方的不敢恭维了所以自己再写了一个 主要是考虑到qq的php sdk写的真是太烂了,纯属是普及ap...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product