微信公众账号消息回复开发
说实话,最近东西写的很乱,也没咋好好整理,
第一个是最近事情做得很乱,
第二个是最近生活也很凌乱,今天还感冒来着 ,昨晚去龙泽淋雨了
第三个也是确实心情不咋好,看官莫怪
之所以写这个,是因为最近 也在做这个,换了一家公司,换了一个心情
不评论谁好谁坏
做好自己该做的事情!
/**********************************以上为分割线 个人心情 无关各位*******************************************/
在微信消息回复中,首先要自己去配置服务器地址,
服务器的话自己有可以用自己的,没有的话可以看看度娘或是渣浪的,
我之前用的是渣浪的,现在欠费了 还找我收费呢。
阿里云的话挺贵的,你要是自己开发没必要 不如买个香港或是国外的
token的话是自己设置的,这个要跟服务器上的一样呢
EncodingAESKey:随机生成
消息加解密方式:自己选
配置好之后我们来看看服务器的文件,这个用的是php
我用的是这个http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
原文地址,如原作者需要我删除的话,请联系我!谢谢
<?php
define("TOKEN", "自己的token值");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET[\'echostr\'])) {
$wechatObj->valid();
}else{
$wechatObj->responseMsg();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if($this->checkSignature()){
header(\'content-type:text\');
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
public function responseMsg()
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, \'SimpleXMLElement\', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if($keyword == "?" || $keyword == "?")
{
$msgType = "text";
$contentStr = date("Y-m-d H:i:s",time());
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
}else{
echo "";
exit;
}
}
}
?>
至此,已经配置完成,说明一下,前端并看不懂后台的代码,我的心愿是世界和平!