QQ互联登录PHP-SDK,(-1)invalid openid错误—解决方法
QQ互联登录PHP-SDK,(-1)invalid openid错误—解决方法
李世晨 发表于4年前
QQ互联登录PHP-SDK,(-1)invalid openid错误—解决方法
  • 发表于 4年前
  • 阅读 587
  • 收藏 4
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 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()类(见上述代码示例),以防止变量丢失或被覆盖


共有 人打赏支持
粉丝 2
博文 16
码字总数 10638
×
李世晨
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: