QQ互联登录PHP-SDK,(-1)invalid openid错误—解决方法

QQ互联登录PHP-SDK,(-1)invalid openid错误—解决方法,问题现象是:部署了PHP-SDK之后,出现有时能登录,有时不能登录的情况,错误提示是:-1 client request's parameters are invalid, invalid openid

网上找过很多方法,测试了各种调试两天,终于貌似找到了解决方法:

在 callback.php页面 请按顺序放置以下几行代码

1
2
3
4
5
6
7
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();

注意几点:

1、定义$qc 时,记得使用new 关键字

2、要定义两次$qc= new qc(),第一次用于获取正确的access_token 和openid,第二次用于保证正确传输access_token和openid以保证api的使用

3、【顺序】一定要先获取access_token(即先使用qq_callback()方法),再获取openid(get_openid()方法),否则错误,作者本人因为偶然写反了顺序,花了1小时才找到错误。。。

4、【代码位置】,为了尽量减少未知的错误,尽量保证 上述代码在整个php代码执行流程中,保持在顶端先执行(尤其注意因require等方式包含进来的代码),

5、【变量传递】作者推荐:在第一次new QC()之后,立即获取access_token和openid,并立即重新使用获取到的access_token和openid来重新定义QC()类(见上述代码示例),以防止变量丢失或被覆盖


转载于:https://my.oschina.net/u/861770/blog/189293

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值