在你的网站实现qq登陆(php)

这个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>";

?>
 
运行以上代码显示效果如下:
 
 
是不是用户名和头像都得到了,做登录够用了吧。想怎么扩展自己去写吧。
 
希望能帮助到有需要的朋友,欢迎留言和我交流。
posted @ 2015-10-09 11:50  andyliud  阅读(4705)  评论(3编辑  收藏  举报