微信公众平台开发关注/取消关注事件例子
用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者给用户下发欢迎消息或者做帐号的解绑.
下面是一个微信公众平台关注和取消关注的实例,代码如下:
define( "TOKEN" , "w3note" ); //定义识别码 $wechatObj = new wechatCallbackapiTest(); //实例化wechatCallbackapiTest类 if (!isset( $_GET [ "echostr" ])){ $wechatObj ->responseMsg(); } else { $wechatObj ->valid(); } class wechatCallbackapiTest { public function valid() { $echoStr = $_GET [ "echostr" ]; if ( $this ->checkSignature()){ echo $echoStr ; exit ; } } public function responseMsg() //执行接收器方法 { $postStr = $GLOBALS [ "HTTP_RAW_POST_DATA" ]; if (! empty empty ( $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 ; } } private function receiveEvent( $object ){ $content = "" ; switch ( $postObj ->Event){ case "subscribe" : $content = "欢迎关注网志博客" ; //这里是向关注者发送的提示信息 break ; case "unsubscribe" : $content = "" ; break ; } $result = $this ->transmitText( $object , $content ); return $result ; } private function transmitText( $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 ; } 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 ); //开源代码phpfensi.com if ( $tmpStr == $signature ){ return true; } else { return false; } } }代码相关参数说明:
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)
查看更多关于微信公众平台开发关注/取消关注事件例子 - php高的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30391