【QQ互联】【解决】client request's parameters are invalid, invalid openid

来源:互联网 发布:电子病历系统源码 编辑:程序博客网 时间:2024/05/20 11:26

QQ互联官方Demo的callback页面在数据获取方面有问题。如果直接引用,就会出现以下问题:

“client request's parameters are invalid, invalid openid”

【解决方法】
在 callback.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()类(见上述代码示例),以防止变量丢失或被覆盖

0 0
原创粉丝点击