PHP-企业微信服务器回调配置

企业微信回调配置

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

基础准备如果没有问题后,我们需要进入企业微信后台的应用程序如下图所示:

PHP-企业微信服务器回调配置_第1张图片
PHP-企业微信服务器回调配置_第2张图片
注:在测试回调配置前我们首先不需要填写URL,回调测试结束后再将URL放进去,在进行保存。
我们将测试回调的文件放在网站目录中,并取名叫callback.php来进行测试。
callback文件代码如下:

VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
//回调验证判断
		if ($errCode == 0) { 
		  echo $sEchoStr;
		} else { 
		  print("ERR: " . $errCode . "\n\n"); 
		}

	}
?>

此时借助“微信企业号接口调试工具” http://qydev.weixin.qq.com/debug来进行调试。如下图所示:
PHP-企业微信服务器回调配置_第3张图片
URL:必须使用外网能够访问得到的URL(不能是本地服务器且URL要有备案)
Token:企业微信应用程序->设置api中的信息
EncodingAesKey:企业微信应用程序->设置api中的信息
ToUserName: 企业id
EchoStr:想要输出的数据。用来检验回调内容是否成功,是否正确。

全部填完后点击“检查问题”。
PHP-企业微信服务器回调配置_第4张图片
如若EchoStr与返回结果一致,没有报错信息。
此时就可以再次回到“接受消息服务器配置”页面如图下所示:点击“保存”此时就会显示“保存成功”的页面啦!

PHP-企业微信服务器回调配置_第5张图片

PHP-企业微信服务器回调配置_第6张图片
但是小编在实际操作的过程中还是遇到很多坎坷的。其中遇到最多的回调报错就是提示:“echostr校验失败,请您检查是否正确解密并输出明文echostr”。

PHP-企业微信服务器回调配置_第7张图片
这里其实最主要的是要看我们在调试工具中的EchoStr的内容和返回结果内容是否一致,如果不一致就会有类似报错。那么是什么原因会导致这种结果的错误呢?可能原因如下:

1.要注意将PHP另存为无BOM头的UTF-8格式

2 是 EchoStr参数获取不要加 urldecode转换 (要命的是官方提供的示例就加了url转换,所以出错)即改成

$sVerifyEchoStr = $_GET["echostr"];  // 并不是 $sVerifyEchoStr = urldecode($_GET["echostr"]);

3.注意 PHP网页中 前面调试 OK后,到最后一步时,要把前面所有的 echo 或 print 代码去掉,要保证最后输出的只有 $sEchoStr 否则也会有同样报错。

上述是小编对于企业微信的回调配置做出一些经验,内容可能不是很完整,还望网友们指出。

你可能感兴趣的:(消息接收)