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作的文本留言本的例子(六)
Oct 09 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
php跨站攻击实例分析
Oct 28 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
php解析xml方法实例详解
May 12 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 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/05/26 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python 动态加载的实现方法
2017/12/22 Python
Python3解释器知识点总结
2019/02/19 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Python登录系统界面实现详解
2019/06/25 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
文秘自荐信
2013/10/20 职场文书
管理站站长岗位职责
2013/11/27 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
残疾人小组计划书
2014/04/27 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
中学教代会开幕词
2016/03/04 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
吃通javascript正则表达式
2021/04/21 Javascript