企业微信回调配置
前期准备:
1.必须使用外网能够访问得到的URL(不能是本地服务器且URL要有备案)
2.需要使用官方推荐的“加解密库及返回码”(php)下载地址如下:https://github.com/sbzhu/weworkapi_php/tree/master/callback
3.要借助微信企业号接口调试工具: http://qydev.weixin.qq.com/debug
基础准备如果没有问题后,我们需要进入企业微信后台的应用程序如下图所示:


注:在测试回调配置前我们首先不需要填写URL,回调测试结束后再将URL放进去,在进行保存。
我们将测试回调的文件放在网站目录中,并取名叫callback.php来进行测试。
callback文件代码如下:
<?php
//这里的Getmessage_Wechat.class.php其实就是官网推荐的WXBizMsgCrypt.php
require_once "Getmessage_Wechat.class.php";
define(EncodingAesKey,"应用程序回调配置的EncodingAesKey");
define(Token,"应用程序回调配置的Token");
define(CorpId,"企业微信id号");
$wechatObj = new WXBizMsgCrypt(Token,EncodingAesKey,CorpId);
if (!isset($_GET['echostr'])) {
echo "没有进入到回调配置!";
}else{
//接受验证数据
$sVerifyMsgSig = $_GET["msg_signature"];
$sVerifyTimeStamp = $_GET["timestamp"];
$sVerifyNonce = $_GET["nonce"];
$sVerifyEchoStr = $_GET["echostr"];
$sEchoStr = "";
$errCode = $wechatObj ->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
//回调验证判断
if ($errCode == 0) {
echo $sEchoStr;
} else {
print("ERR: " . $errCode . "\n\n");
}
}
?>
此时借助“微信企业号接口调试工具” http://qydev.weixin.qq.com/debug来进行调试。如下图所示:

URL:必须使用外网能够访问得到的URL(不能是本地服务器且URL要有备案)
Token:企业微信应用程序->设置api中的信息
EncodingAesKey:企业微信应用程序->设置api中的信息
ToUserName: 企业id
EchoStr:想要输出的数据。用来检验回调内容是否成功,是否正确。
全部填完后点击“检查问题”。

如若EchoStr与返回结果一致,没有报错信息。
此时就可以再次回到“接受消息服务器配置”页面如图下所示:点击“保存”此时就会显示“保存成功”的页面啦!


但是小编在实际操作的过程中还是遇到很多坎坷的。其中遇到最多的回调报错就是提示:“echostr校验失败,请您检查是否正确解密并输出明文echostr”。

这里其实最主要的是要看我们在调试工具中的EchoStr的内容和返回结果内容是否一致,如果不一致就会有类似报错。那么是什么原因会导致这种结果的错误呢?可能原因如下:
1.要注意将PHP另存为无BOM头的UTF-8格式
2 是 EchoStr参数获取不要加 urldecode转换 (要命的是官方提供的示例就加了url转换,所以出错)即改成
$sVerifyEchoStr = $_GET["echostr"]; // 并不是 $sVerifyEchoStr = urldecode($_GET["echostr"]);
3.注意 PHP网页中 前面调试 OK后,到最后一步时,要把前面所有的 echo 或 print 代码去掉,要保证最后输出的只有 $sEchoStr 否则也会有同样报错。
上述是小编对于企业微信的回调配置做出一些经验,内容可能不是很完整,还望网友们指出。
本文详细介绍了企业微信回调配置的步骤,包括前期准备、基础配置、回调测试和常见错误分析。强调了URL的外网可访问性、使用官方加解密库以及微信接口调试工具的重要性。在配置过程中,遇到的常见问题如echostr校验失败,可能的原因包括PHP文件的BOM头、EchoStr参数处理和最后的输出内容等。
1万+





