PHP微信企业号开发之回调模式开启与用法示例


Posted in PHP onNovember 25, 2017

本文实例讲述了PHP微信企业号开发之回调模式开启与用法。分享给大家供大家参考,具体如下:

暑假实习,领导安排开发微信企业号。在此对遇到的问题进行记录,分享给遇到同样问题的小伙伴,希望对小伙伴们有帮助。微信企业号注册部分就不用多说了,今天记录微信企业号--回调模式开启php部分。

其实微信开发文档说的确实十分详细了,而且使用官方给的demo,只要做稍稍的改变就可以直接用了。但是为什么总是提示错误呢?

下面我先贴出我验证成功的回调模式开启的代码

<?php
//回调开启
include_once "WXBizMsgCrypt.php";
// 假设企业号在公众平台上设置的参数如下
$encodingAesKey = "xxx";
$token = "xxx";
$corpId = "xxx";//填写自己的相关参数,与微信公众平台一致
/*
------------使用示例一:验证回调URL---------------
*企业开启回调模式时,企业号会向验证url发送一个get请求
假设点击验证时,企业收到类似请求:
* GET /cgi-bin/wxpush?msg_signature=5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3×tamp=1409659589&nonce=263014780&echostr=P9nAzCzyDtyTWESHep1vC5X9xho%2FqYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp%2B4RPcs8TgAE7OaBO%2BFZXvnaqQ%3D%3D
* HTTP/1.1 Host: qy.weixin.qq.com
接收到该请求时,企业应
1.解析出Get请求的参数,包括消息体签名(msg_signature),时间戳(timestamp),随机数字串(nonce)以及公众平台推送过来的随机加密字符串(echostr),
这一步注意作URL解码。
2.验证消息体签名的正确性
3. 解密出echostr原文,将原文当作Get请求的response,返回给公众平台
第2,3步可以用公众平台提供的库函数VerifyURL来实现。
*/
// $sVerifyMsgSig = HttpUtils.ParseUrl("msg_signature");
$sVerifyMsgSig = $_GET["msg_signature"] ;//"5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3";
// $sVerifyTimeStamp = HttpUtils.ParseUrl("timestamp");
$sVerifyTimeStamp = $_GET["timestamp"];//"1409659589";
// $sVerifyNonce = HttpUtils.ParseUrl("nonce");
$sVerifyNonce = $_GET["nonce"];//"263014780";
// $sVerifyEchoStr = HttpUtils.ParseUrl("echostr");
$sVerifyEchoStr = $_GET["echostr"];//"P9nAzCzyDtyTWESHep1vC5X9xho/qYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp+4RPcs8TgAE7OaBO+FZXvnaqQ==";
// 需要返回的明文
$EchoStr = "";
$wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId);
$errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
if ($errCode == 0) {
  echo $sEchoStr;
  //
  // 验证URL成功,将sEchoStr返回
  // HttpUtils.SetResponce($sEchoStr);
} else {
  print("ERR: " . $errCode . "\n\n");
}

可见以上代码和demo给的基本一致,在一天前相同的代码也验证不成功的,经过研究发现:验证url时的域名必须是可信域名。ps:我用的是新浪云,但是我没有进行实名认证,所以存在风险,当我实名认证后,就开启成功了。

感悟:官方文档什么时候都不会错,好好研读官方文档很有必要。在微信企业号--回调模式开启的过程中,域名必须是可信域名,这点也非常重要

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
NOT NULL 和NULL
Jan 15 PHP
php 读取shell管道传输过来的内容
Mar 01 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
Laravel 5 框架入门(四)完结篇
Apr 09 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 PHP
PHP程序守护进程化实现方法详解
Jul 16 PHP
PHP递归实现汉诺塔问题的方法示例
Nov 25 #PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 #PHP
php图片合成方法(多张图片合成一张)
Nov 25 #PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 #PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 #PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 #PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 #PHP
You might like
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
php流量统计功能的实现代码
2012/09/29 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
自己封装的javascript事件队列函数版
2014/06/12 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
python目录与文件名操作例子
2016/08/28 Python
python图像常规操作
2017/11/11 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python装饰器用法示例小结
2018/02/11 Python
python中dict()的高级用法实现
2019/11/13 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
python调用摄像头的示例代码
2020/09/28 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
上海中网科技笔试题
2012/02/19 面试题
银行行长竞聘演讲稿
2014/04/23 职场文书
小学教师师德整改措施
2014/09/29 职场文书
离婚协议书范本2014
2014/10/27 职场文书
南京导游词
2015/02/03 职场文书
大学毕业生自我评价
2015/03/02 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
法院答辩状格式
2015/05/22 职场文书
中学教代会开幕词
2016/03/04 职场文书