1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php公众号开发关注事件推送图文_PHP_微信公众平台开发关注及取消关注事件的方法 本文

php公众号开发关注事件推送图文_PHP_微信公众平台开发关注及取消关注事件的方法 本文

时间:2020-08-05 13:46:29

相关推荐

php公众号开发关注事件推送图文_PHP_微信公众平台开发关注及取消关注事件的方法 本文

微信公众平台开发关注及取消关注事件的方法

本文实例讲述了微信公众平台开发关注及取消关注事件的方法。分享给大家供大家参考。具体分析如下:

用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的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 (!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;

}

}

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 = "

%s

0

";

$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 );

if( $tmpStr == $signature ){

return true;

}else{

return false;

}

}

}

代码相关参数说明:

参数

描述

ToUserName

开发者微信号

FromUserName

发送方帐号(一个OpenID)

CreateTime

消息创建时间 (整型)

MsgType

消息类型,event

Event

事件类型,subscribe(订阅)、unsubscribe(取消订阅)

希望本文所述对大家的php程序设计有所帮助。相关阅读:

Android开发之完全隐藏软键盘的方法

Linux中的stat命令使用简介

HTML5中的Article和Section元素认识及使用

使用C语言来解决循环队列问题的方法

win10手机预览版上手体验 win10手机预览版体验评测

C#之CLR内存字符串常量池(string)

Win10系统激活后提示许可证过期的解决办法 图解Win10激活许可证过期问题

PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)

Win10 TH2正式版更新比Win7快30%盘点那些你或许还没发现的隐藏功能

浅谈CSS字体的加载加速问题

php上传功能集后缀名判断和随机命名(强力推荐)

Linux下sed命令使用全解析

Win7网络连接不上且提示错误797的原因及解决方法

Win8系统运行3dmax注册机出现死机如何解决

php公众号开发关注事件推送图文_PHP_微信公众平台开发关注及取消关注事件的方法 本文实例讲述了微信公众平台 - phpStudy...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。