前言

今天生病在家,由于我的微信公众号被投诉了,因此影视站接口被迫关闭,于是就想着给大家分享 APP,于是就用了下微信的自动回复,

想着能否把这个自动回复对接到 MIPCMS 上,于是就开干。但是微信开发第一步就给我难住了,微信公众号Token 一直配置失败,

于是上网搜索了下,找到一段可用的代码,结果比对后发现:我的代码中变量的大小写问题,在 echo 的时候找不到变量,因此报错。

错误代码示例

// 接收参数

// 加密签名

$signature = $_GET['signature'];

// 时间戳

$timestamp = $_GET['timestamp'];

// 随机数

$nonce = $_GET['nonce'];

// 随机字符串

$echostr = $_GET['echostr']; // 此处为小写,调用时是大写,主要原因在此。

// TOKEN

define('TOKEN', 'weixin');

// 字典序排序

$tempArr = array(TOKEN, $timestamp, $nonce);

sort($tempArr, SORT_STRING);

// 拼接字符串,sha1 加密

$tempStr = join($tempArr);

$tempStr = sha1($tempStr);

if($tempStr == $signature) {

echo $echoStr; // 此处 echo 大小写有误

} else {

echo 'error';

exit;

}

正确代码示例

// 接收参数

// TOKEN

define('TOKEN', 'test123456');

// 加密签名

$signature = $_GET["signature"];

// 时间戳

$timestamp = $_GET['timestamp'];

// 随机数

$nonce = $_GET['nonce'];

// 随机字符串

$echoStr = $_GET['echostr'];

// 字典序排序

$tempArr = array(TOKEN, $timestamp, $nonce);

sort($tempArr, SORT_STRING);

// 拼接字符串,sha1 加密

$tempStr = join($tempArr);

$tempStr = sha1($tempStr);

// $tmpStr = implode( $tempArr );

// $tmpStr = sha1( $tmpStr );

if($tempStr == $signature) {

echo $echoStr;

} else {

echo 'error';

exit;

}

总结

开发需要仔细呀,因为一个变量名搞这么,时间白白浪费了。

IT宅个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:微信公众号Token配置失败解决办法

php微信公众号测试号token配置失败,微信公众号Token配置失败解决办法相关推荐

  1. 【微信公众平台】〖问题〗微信公众平台测试号报错,redirect_uri域名与后台配置不一致,错误码10003

    [问题]微信公众平台测试号报错,redirect_uri域名与后台配置不一致,错误码10003 问题 解决 微信公众平台测试号网页授权获取用户基本信息配置需要注意以下三点: 1.接口配置信息,为URL ...

  2. 微信企业支付 服务器根证书,微信第三方平台微信支付配置没有rootca.pem根证书文件的解决办法-蜘蛛网博客...

    微信第三方平台微信支付配置没有rootca.pem根证书文件的解决办法我们在通过微信第三方平台制作微信活动的时候,很多情况下都需要用到微信支付接口,例如商城类的微信功能,微砍价.微助力.微秒杀.微拼团 ...

  3. 微信老是不能登录服务器错误,微信登录失败报错“4-100”的原因及解决办法

    微信登录失败报错"4-100"怎么办?微信是目前为止大家最喜欢的社交软件了,如果微信登录不了,整个人都不好了.最近就有用户遇到手机微信登录不了的情况,错误代码为"4-10 ...

  4. Java11.0.2怎么生成JRE_java环境变量配置,jdk13.0.1中没有jre解决办法

    标签:完成后   回车   手动   完成   cmd   没有   alt   span   环境变量配置 java.Oracle中下载了最新的jdk13.0.1,安装之后发现没自动生成jre,导致 ...

  5. win10添加打印机失败,无法正常使用打印机的解决办法

    win10系统在添加打印机时出现失败的情况,如下图所示: 在添加打印机的时候出现"驱动程序无法使用"的提示,该如何解决呢?下面IT技术资料分享网小编就给大家分享win10添加打印机 ...

  6. 关于程序集生成失败 -- 引用的程序集没有强名称的解决办法

    关于程序集生成失败 -- 引用的程序集没有强名称的解决办法 我在PetShop4程序中加入了一个业务外观层,然后在业务逻辑层(PetShop.BLL)引用这个程序集,点"生成",出 ...

  7. JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法

    原文地址:http://www.cnblogs.com/taven/p/3351841.html JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法 在Spr ...

  8. VMWare虚拟机-锁定文件失败,打不开磁盘的解决办法

    VMWare虚拟机提示:锁定文件失败,打不开磁盘的解决办法 如果使用VMWare虚拟机的时候突然系统崩溃蓝屏,有一定几率会导致无法启动,会提示:"锁定文件失败,打不开磁盘...或它所依赖的某 ...

  9. 更新TKK失败,请检查网络连接的解决办法

    pycharm插件translation 更新TTK失败,请检查网络连接的解决办法 一.解决报错 二.修改hosts文件权限 一.解决报错 出现这个报错的同时翻译插件也用不了. 1.首先在找到host ...

  10. Android环境配置及adb不是内部命令的解决办法

    Android环境配置及adb不是内部命令的解决办法 听语音 | 浏览:12378 | 更新:2016-03-03 15:44 | 标签:ANDROID JDK ECLIPSE 1 2 3 4 5 6 ...

最新文章

  1. navicat for mysql 怎么连接远程数据库服务器
  2. Linux 设备驱动开发 —— Tasklets 机制浅析
  3. twisted 安装时,安装顺序为 zope.interface -twisted
  4. 作者:石乾新(1989-),男,贵州大学公共管理学院硕士生。
  5. 21_python基础—单例和 __ new __ 方法
  6. [u]intN_t - uint8_t, uint16_t, uint32_t, uint64_t
  7. 1.12 改善你的模型的表现
  8. 性能测试利器工具来了,生产环境全链路压测工具
  9. leetcode 559 N叉树的最大深度
  10. 【TSP】基于matlab禁忌搜索算法求解31城市旅行商问题【含Matlab源码 1143期】
  11. 高压油管matlab,高压油管的压力及流量控制
  12. 换机潮爆发,5G手机+5G超级SIM卡成趋势
  13. html tooltips效果,html5tooltips.js – 一款轻量级的3D工具提示插件
  14. Scala学习笔记(三)类层级和特质
  15. spss pro网络挑战赛A题:人群疏散模拟代码
  16. 如何解决layui弹出层闪退的问题
  17. 实战ssl-bump,实现squid的url过滤功能
  18. 基于AOP和HashMap原理学习,开发Mysql分库分表路由组件!
  19. 林氏物语之春江花月.音乐随想系列之sleeping sun及诗经版译文
  20. 小程序项目(uniapp)

热门文章

  1. 解决页面上JS文件加载过慢问题
  2. KuaiRec | 快手发布首个稠密度高达99%的推荐数据集, 可用于多种推荐系统方向研究...
  3. 【PTT下载】罗振宇2022“时间的朋友”跨年演讲PPT.pdf(附下载链接)
  4. 【报告分享】2021四大行业品牌蓝V社媒内容运营观察报告.pdf(附下载链接)
  5. 【干货】2021新消费品牌STEP增长方法论:品牌营销与生意增长Playbook.pdf(附下载链接)...
  6. 美团酒旅数据治理实践
  7. 【报告分享】2020年抖音商业产品手册.pdf(附下载链接)
  8. 必知必会!常用矩阵求导和重要的矩阵
  9. 如何设置centos7的ip地址配置信息,让我的主机和它互Ping,以及远程登陆
  10. sklearn 3.随机森林(菜菜课程)