php生成小程序二维码出现40001的情况
php生成小程序二维码出现40001的情况
获取二维码时,小程序的access_token莫名奇妙失效了?
生成小程序二维码时遇到的坑,明明刚获取到的access_token,生成二维码时总是提示说 "errcode: 40001, errmsg: “invalid credential, access_token is invalid or not latest hint: [IUwBwa07644522]”。这个access_token时灵时不灵
不废话,直接说解决方案
出现获取小程序二维码经常失败偶尔成功或者偶尔失败的情况,并提示40001。这个很大程度上是因为你的程序中有多个地方使用了获取access_token的方法 会失效是其它地方刷新了assess_token导致在当前页面刷新时和另一个地方冲突,导致token失效
解决方式就是将获取access_token的方法统一管理,这样将不会存在冲突
附上本人生成二维码的部分代码(使用tp5.1框架)
/*** @descr 得到小程序二维码*/public function getQrCode(){header('content-type:text/html;charset=utf-8');if (Session::get('access_token')){$token=Session::get('access_token');}else{$token = access_token();}$qcode ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$token."";$param = json_encode([//"scene"=>"uid=".$this->app['userID'],"scene"=>"uid=21","path"=>"pages/active-receive/index",//"width"=> 430]);$result = Common::httpRequest($qcode,$param,"POST");//file_put_contents("qrcode.png", $result);$base64_image ="data:image/jpeg;base64,".base64_encode($result);return $base64_image;}function access_token(){$config = Config('weChat.');$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=". $config['WX_APPID']."&secret=".$config['WX_SECRET']."";$json = \tool\Common::httpRequest($url);$json = json_decode($json,true);Session::set('access_token',$json['access_token'],7200);return $json['access_token'];
}//curlpublic static function httpRequest($url, $data='', $method='GET'){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($curl, CURLOPT_AUTOREFERER, 1);if($method=='POST'){curl_setopt($curl, CURLOPT_POST, 1);if ($data != ''){curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}}curl_setopt($curl, CURLOPT_TIMEOUT, 30);curl_setopt($curl, CURLOPT_HEADER, 0);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$result = curl_exec($curl);curl_close($curl);return $result;}
分享一下自己的采坑经历,目的是为了大家不再重复我的错误。
写的不好,请大家不要介意,谢谢
php生成小程序二维码出现40001的情况相关推荐
- node 无脑生成小程序二维码图
RT 新建createwxaqrcode.js: const request = require('request') const fs = require('fs')// eg:生成购物车列表圆形二 ...
- PC端生成小程序二维码海报并下载
我采用了前端截屏+前端生成二维码的方法展示海报并下载 上代码 //截屏组件 import html2canvas from 'html2canvas' //生成二维码组件 import QRCode ...
- 聚合二维码生成(小程序二维码、付款码)
1. 付款码 点击前往 2. 小程序二维码 扫码进入小程序 第一步: 配置微信小程序二维码 微信公众平台 >开发 >开发设置 >扫普通链接二维码打开小程序 点击添加,配置二维码规则 ...
- 三种方式生成小程序二维码
通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面,所有生成的二维码永久有效,可放心使用.目前微信支持两种二维码,小程序码(左),小程序二维码(右),如下所示: 为满 ...
- 调用支付宝接口生成小程序二维码的坑(PHP)
引言:最近在开发支付宝小程序生成二维码的时候碰到了一点问题,记录一下 1.需求 正在开发的这个项目是一个电商类小程序,需求是给每个产品生成一个独立的小程序二维码 2.实现 了解了需求之后,开始查官方文 ...
- PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
图片二维码生成 <?php //二进制转图片image/pngfunction burryToBase64($contents, $mime){$base64 = base64_encode($ ...
- 【小程序】node/小程序云开发生成小程序二维码并添加文件到云存储/腾讯云存储
[前情提要] 1-小程序云函数生成小程序码 2-小程序云函数上传到云存储,云存储包括 小程序云存储/腾讯云存储 (因为云函数 就是node.js语法写的吗,所以下面写法对于node同样适用) 3-这里 ...
- Java生成小程序二维码并带参数
直接上代码: 工具类MpQrUtils.java,获取accessToken与二维码的输入流: import javax.servlet.http.HttpServletRequest;import ...
- php 生成小程序二维码(扫码进入小程序)
function qrCodeIsGenerated($code) {$appid = config('weChat.appid');$secret = config('weChat.secret') ...
最新文章
- 体验首款Linux消费级平板,原来芯片和系统全是国产
- django--模板继承、组件、自定义标签
- Java中的条件编译
- NoSuchMethodError 发生原因和解决办法
- 相机内外参矩阵和坐标变换
- 【JEECG Dubbo专题】Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)
- 百度app不支持popstate_这一次谷歌很强硬,从现在起你的 App 再不支持,将拒绝上架!...
- POJ 1166	The Clocks (爆搜 || 高斯消元)
- div水平垂直居中的几种方法(面试问题)
- python娃娃在地上摆积木_Python中乐高积木——函数
- 开发rtmp直播流测试地址
- python爬携程上出境游数据_Python爬虫 —— 携程机票数据
- mysql repaire_mysql 修复表
- 互斥锁的概念和使用方法。
- OpenXML之word的XML格式分析
- 牛客剑指offer:题解(51-60)
- Doris系列1-Doris介绍
- 机器学习强基计划3-4:详解核方法——以核支持向量机KSVM为例
- imx板子设备树范例
- css3动画图片旋转绕轴,css3图片旋转如何实现?css3实现图片旋转动画效果的方法...