# QQ登录 QQ登录组件可以让我们快速实现网站中qq登录的功能。 ### 重要提示 开发者QQ号码一旦注册不能变更,建议使用公司公共QQ号码而不是员工私人号码注册,以免遇到员工离职等情况造成不必要的麻烦。 申请地址:[http://connect.qq.com/](http://connect.qq.com/) 其他产品也可以使用该组件,请登录 [GITHUB](https://github.com/houdunwang/qq) 查看源代码与说明文档。 [TOC] # 开始使用 #### 登录模板 ``` <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>QQ登录页面</title> <script type="text/javascript"> var childWindow; function toQzoneLogin() { childWindow = window.open("login.php", "TencentLogin", "width=850,height=520,menubar=0,scrollbars=1, resizable=1,status=1,titlebar=0,toolbar=0,location=1"); } function closeChildWindow() { childWindow.close(); } </script> </head> <body> <a href="#" onclick='toQzoneLogin()'>qq登录</a> </body> </html> ``` #### 后台提交代码 本代码是在点击前台模板的QQ登录按钮后执行的后台代码,用于向QQ发起登录请求。 login.php 就是前台登录模板中填写的后台地址。 ``` <?php $config = [ "appid" => "",//qq互联提供的的APP ID "appkey" => "", //qq互联提供的的APP KEY "callback" => "http://www.houdunren.com/callback.php" //登录成功的回调地址 ]; $obj = new \houdunwang\qq\Qq($config); $obj->qq_login(); ``` #### 登录回调代码 QQ处理完登录后的回调地址 文件为配置项定义的文件 callback.php ``` /** * Qq::qq_callback 方法将 access_token 与 openid 储存到session * 用于其他控制器或模块调用api使用 * Qq::token 方法将accesss_token与openid 储入对象属性 * 这样才可以在本函数中执行 get_user_info 接口,否则需要刷新页面使session有效 **/ $config = [ "appid" => "",//qq互联提供的的APP ID "appkey" => "", //qq互联提供的的APP KEY "callback" => "http://www.houdunren.com/callback.php" //登录成功的回调地址 ]; $obj = new \houdunwang\qq\Qq($config); $access_token = obj->qq_callback(); $openid = obj->get_openid(); obj->token($access_token,$openid); //调用获取用户信息 api 功能,qqcallback()回调中必须执行Qq::token()才可执行接口 print_r(obj->get_user_info()); ``` ## 方法列表 除了登录回调函数其他Api函数就不需要执行 $obj->token()方法了,可直接调用接口,因为access_token已经存在了session中了。 #### 获取 open_id ``` Qq::get_openid(); ``` #### 获取用户昵称、头像、性别 ``` Qq::get_user_info(); ``` ####获取登录用户在腾讯微博详细资料 ``` Qq::get_info(); ``` #### 获取微博用户信息 ``` Qq::get_info(); ``` > 框架集成了官方Api全部方法,使用方法就不一一列出了,大家请参考 [官方PHP sdk](http://wiki.connect.qq.com/api%E5%88%97%E8%A1%A8) 使用方法。