这个qq的oauth2.1有个坑,坑了我半天,后来查了不少资料总算弄通了,现在把详细步骤记录下来。
步骤一、登陆http://connect.qq.com/
步骤二、创建应用。我创建的是wenwutest这个应用。具体的创建如下图所示:
要特别注意这个回调地址。首先这个回调地址必须与网站地址的根域名写的一样(http://m.mumayi.com),其次,这里写的这个地址一定是登陆成功后回调的地址。不能再像oauth2.0那样再写个根域名就可以了,我这里就掉在这个坑里半天。
步骤3、下载php的sdk
下载地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
我下的是php oauth2.1的版本
下好之后,直接将整个目录放到你的服务器。如下图所示:
步骤四、配置sdk
直接访问install文件夹,填写相关信息如下图所示:
填写你的应用的appid与appkey和callback地址。这个appid和appkey分别是下图所示的两个值:
最后的callback地址,一定要注意,一定要和你创建应用时候的callback地址一模一样,否则会出现"ilegal uri"错误。这里我创建应用时的callback地址是:http://m.mumayi.com/qq/example/oauth/callback.php。所以我在这里也要填写这个地址。填写完成后,点击"配置”就会配置成功了。
步骤五、访问example/index.html,点击按钮,如下所示
这样就登陆了,登录成功后跳转到我们之前设置好的callback地址。
官方sdk的callback.php文件内容如下:
<?php require_once("../../API/qqConnectAPI.php"); $qc = new QC(); echo $qc->qq_callback(); //返回的验证值 echo ‘<hr>‘; echo $qc->get_openid(); //qq分配的用户id
代码很简单。其中重要的是这个openid的值。一般可以将这个openid和我们现有的用户表做个绑定(如果用户有账号,如果没有,可以完善信息)。
到这里登录就基本完成了。下面我演示下如何获取用户的基本信息,代码很简单:
<?php /* *调用接口代码 * **/ require_once("../../API/qqConnectAPI.php"); $qc = new QC(); $arr = $qc->get_user_info(); echo ‘<meta charset="UTF-8">‘; echo "<p>"; echo "Gender:".$arr["gender"]; echo "</p>"; echo "<p>"; echo "NickName:".$arr["nickname"]; echo "</p>"; echo "<p>"; echo "<img src=\"".$arr[‘figureurl‘]."\">"; echo "<p>"; echo "<p>"; echo "<img src=\"".$arr[‘figureurl_1‘]."\">"; echo "<p>"; echo "<p>"; echo "<img src=\"".$arr[‘figureurl_2‘]."\">"; echo "<p>"; echo "vip:".$arr["vip"]; echo "</p>"; echo "level:".$arr["level"]; echo "</p>"; echo "is_yellow_year_vip:".$arr["is_yellow_year_vip"]; echo "</p>"; ?>
运行以上代码显示效果如下:
是不是用户名和头像都得到了,做登录够用了吧。想怎么扩展自己去写吧。
希望能帮助到有需要的朋友,欢迎留言和我交流。