QQ互联开发记录
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/113/ ]
别忘了添加协作者测试号,这是一个很容易被忽略的一个地方,因为腾讯藏得太好了.在网站的信息编辑里,分有两个栏目,网站基本信息、补充信息(非必填),然而测试帐号的添加地址就藏在这非必填的栏目中!没有测试帐号,在开发的时候,会出现如下提示
1)不要在QQ互联首页下载SDK开发包,因为QQ互联官网目前正在迁移,导致相关的资料都不是最新的,我最初下载的PHP SDK还是2011年放出来的。
2)别忘了添加协作者测试号,这是一个很容易被忽略的一个地方,因为腾讯藏得太好了。在网站的信息编辑里,分有两个栏目,网站基本信息、补充信息(非必填),然而测试帐号的添加地址就藏在这非必填的栏目中!没有测试帐号,在开发的时候,会出现如下提示:
磨途歌MO2G.COM的QQ登录在测试中
因此造成的不便我们深感歉意!
原因:为保障您的安全,该应用的QQ登录暂未通过腾讯公司审核,如有投诉或反馈,请邮件至
connect@qq.com
3)错误提示:-1 client request's parameters are invalid, invalid openid
原因是access_token与openid没有填写或者不正确造成的,网上的解决方案如下:
require_once("API/qqConnectAPI.php"); $qc = new QC(); $acs = $qc->qq_callback(); $oid = $qc->get_openid(); $qc = new QC($acs,$oid); $uinfo = $qc->get_user_info();
后来我查看了一下PHP SDK源代码,发现更高效的方法,只要new一次即可,实例如下:
require_once("API/qqConnectAPI.php"); $qc = new QC(); $qc->keysArr['access_token'] = $qc->qq_callback(); $qc->keysArr['openid'] = $qc->get_openid(); $uinfo = $qc->get_user_info();
4)QQ登录完成,使用PHP输出一段javasrcipt关闭当前弹出窗口,并刷新主页面
<script> window.opener.location.reload(); window.close(); </script>
我来说两句: