这个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地址一模一样,否则会出现"iletal uri"错误。这里我创建应用时的callback地址是:http://m.mumayi.com/qq/example/oauth/callback.php。所以我在这里也要填写这个地址。填写完成后,点击"配置”就会配置成功了。
步骤五、访问example/index.html,点击按钮,如下所示
这样就登陆了,登录成功后跳转到我们之前设置好的callback地址。
官方sdk的callback.php文件内容如下:
require_once("../../API/qqConnectAPI.php");
$qc = new QC();
echo $qc->qq_callback(); //返回的验证值
echo '
';
echo $qc->get_openid(); //qq分配的用户id
代码很简单。其中重要的是这个openid的值。一般可以将这个openid和我们现有的用户表做个绑定(如果用户有账号,如果没有,可以完善信息)。
到这里登录就基本完成了。下面我演示下如何获取用户的基本信息,代码很简单:<?php
/**调用接口代码
*
**/
require_once("../../API/qqConnectAPI.php");
$qc = new QC();
$arr = $qc->get_user_info();
echo '';
echo "
";
echo "Gender:".$arr["gender"];
echo "
";echo "
";
echo "NickName:".$arr["nickname"];
echo "
";echo "
";
echo "";
echo "
";
echo "
";
echo "";
echo "
";
echo "
";
echo "";
echo "
";
echo "vip:".$arr["vip"];
echo "
";echo "level:".$arr["level"];
echo "
";echo "is_yellow_year_vip:".$arr["is_yellow_year_vip"];
echo "
";?>
运行以上代码显示效果如下:
是不是用户名和头像都得到了,做登录够用了吧。想怎么扩展自己去写吧。
希望能帮助到有需要的朋友。