微信网页授权 40163 code已被使用过
获取用户的详细信息提示40163错误 code被使用过,但code我没有存储,也没使用过,每次都会有这个错误,没有成功授权过??而且调用回调函数getDetailInfo的时候会出现这个页面,我看别人的没有啊= =
代码
public function getUserDetail(){
$appid='wxccc324b35ed44896';
$redirect_uri=urlencode('http://flowerwithpiggy.duapp.com/index.php/Weixin/getDetailInfo');
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect';
//重定向页面
header('location:'.$url);
}
/**
* 获取相关凭证access_token
* @return [type] [description]
*/
public function getDetailInfo(){
$appid='wxccc324b35ed44896';
$secret='a23db7dedbdab946f473e26d07199f6e';
$code=$_GET['code'];
$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$res=$this->http_curl($url);
// if($res['errcode']){
// }
$access_token=$res['access_token'];
var_dump($res);
$openid=$res['openid'];
$url='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
$res=$this->http_curl($url);
var_dump($res);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
分享的链接里面就有code,应该分享前一条授权的链接
不知道你的问题解决了没有,我最近也遇到这个问题,我用的是tp5,然后我查了好久,发现,请求code发送一次,然后不执行插入数据的时候,接收code一次,如果执行插入数据库,code接收两次,这有点奇怪,但是找不到原因,因为我是把获取openid的步骤放在_initialize方法中的,而且从记录来看,在执行插入语句的时候,_initialize也被执行了两次,这就很神奇了,更神奇的是,我发现我请求code的时候state写成了snsapi_base,而我把state改成微信手册上的STATE后,在执行插入数据库的的步骤就正常了,也就是code只接收一次,这很奇怪,但是我找不到其他原因,把自己的经历分享出来一下
微信回调了两次。需要在业务中防止重复回调
flowerwithpiggy.duapp.com
这个网址是什么鬼呀,你获取用户信息让用户跳转授权的时候应该照着手册上那个来呀。
如果这个网址是你自己的,那就让这个网址跳转微信那个授权地址然后把获取的用户信息给你返回来呀。
https://open.weixin.qq.com/co... 若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
是这个才对
应该是你的访问有问题
你直接在你的页面上
header('Location:https://open.weixin.qq.com/co...。。。。。。。。。');
你在搞笑,人家不就是这么写的?