微信公众平台开发关注及取消关注事件的方法
本文实例讲述了微信公众平台开发关注及取消关注事件的方法。分享给大家供大家参考。具体分析如下:
用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者给用户下发欢迎消息或者做帐号的解绑.
下面是一个微信公众平台关注和取消关注的实例,代码如下:
define("TOKEN","w3note");//定义识别码 $wechatObj=newwechatCallbackapiTest();//实例化wechatCallbackapiTest类 if(!isset($_GET["echostr"])){ $wechatObj->responseMsg(); }else{ $wechatObj->valid(); } classwechatCallbackapiTest { publicfunctionvalid() { $echoStr=$_GET["echostr"]; if($this->checkSignature()){ echo$echoStr; exit; } } publicfunctionresponseMsg()//执行接收器方法 { $postStr=$GLOBALS["HTTP_RAW_POST_DATA"]; if(!emptyempty($postStr)){ $postObj=simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA); $RX_TYPE=trim($postObj->MsgType); switch($RX_TYPE){ case"event": $result=$this->receiveEvent($postObj); breadk; } echo$result; }else{ echo""; exit; } } privatefunctionreceiveEvent($object){ $content=""; switch($postObj->Event){ case"subscribe": $content="欢迎关注网志博客";//这里是向关注者发送的提示信息 break; case"unsubscribe": $content=""; break; } $result=$this->transmitText($object,$content); return$result; } privatefunctiontransmitText($object,$content){ $textTpl="<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; $result=sprintf($textTpl,$object->FromUserName,$object->$ToUserName,time(),$content); return$result; } privatefunctioncheckSignature() { $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){ returntrue; }else{ returnfalse; } } }
代码相关参数说明:
希望本文所述对大家的php程序设计有所帮助。