微信公众平台常用接口-关注事件消息
原创用户关注和取消关注公众账号的时候将分别触发关注事件和取消关注事件。
关注事件
用户关注微信公众账号时的界面如图 4-9 所示,点击「关注」按钮,微信公众账号将收到关注事件。
图 4-9 关注微信公众账号
用户关注微信公众账号时的 XML 数据格式如下所示:
用户取消关注微信公众账号时的界面如图 4-10 所示,点击「取消关注」按钮,微信公众账号将收到取消关注事件。
图 4-10 取消关注微信公众账号
用户取消关注微信公众账号时的 XML 数据格式如下所示:
关注及取消关注事件消息的参数及描述如表 4-8 所示。
表 4-8 文本消息的参数及描述
关注时回复多图文
本节将关注/取消关注事件消息通过代码实现,以便读者理解。具体代码如下所示:
<?php
//
// 关注/取消关注事件消息
// 微信公众账号关注与取消关注事件消息
//
define(「TOKEN」, 「weixin」);
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET[『echostr』])) {
$wechatObj->responseMsg();
}else{
$wechatObj->valid();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET[「echostr」];
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET[「signature」];
$timestamp = $_GET[「timestamp」];
$nonce = $_GET[「nonce」];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$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);
$RX_TYPE = trim($postObj->MsgType);
switch ($RX_TYPE)
{
case 「event」:
$result = $this->receiveEvent($postObj);
break;
}
echo $result;
}else {
echo 「」;
exit;
}
}
private function receiveEvent($object)
{
$content = 「」;
switch ($object->Event)
{
case 「subscribe」:
$content = array();
$content[] = array(「Title」=>「多图文 1 标题」, 「Description」=>「」,
「PicUrl」=>「http://discuz.comli.com/weixin/weather/icon/cartoon.jpg」, 「Url」 =>「http://m.cnblogs.com/?u=txw1958」);
$content[] = array(「Title」=>「多图文 2 标题」, 「Description」=>「」,
「PicUrl」=>「http://d.hiphotos.bdimg.com/wisegame/pic/item/f3529822720e0cf3ac9f1ada0846f21fbe09aaa3.jpg」, 「Url」 =>「http://m.cnblogs.com/?u=txw1958」);
$content[] = array(「Title」=>「多图文 3 标题」, 「Description」=>「」,
「PicUrl」=>「http://g.hiphotos.bdimg.com/wisegame/pic/item/18cb0a46f21fbe090d338acc6a600c338644adfd.jpg」, 「Url」 =>「http://m.cnblogs.com/?u=txw1958」);
break;
case 「unsubscribe」:
$content = 「取消关注」;
break;
}
if(is_array($content)){
if (isset($content[0])){
$result = $this->transmitNews($object, $content);
}else if (isset($content[『MusicUrl』])){
$result = $this->transmitMusic($object, $content);
}
}else{
$result = $this->transmitText($object, $content);
}
return $result;
}
/*
* 回复文本消息
*/
private function transmitText($object, $content)
{
$textTpl = 「
在上面的代码中,判断消息类型为 event 而进入事件方法,再判断事件类型是否为关注或取消关注事件。当为关注事件的时候,回复一条欢迎语;当事件类型为取消关注时,直接回复空消息。因为这时用户已经取消关注,接收不到任何消息。
上述代码运行后,用户关注时,回复的多图文消息如图 4-11 所示。
图 4-11 用户关注时回复多图文消息
版权保护: 本文由 李斯特 原创,转载请保留链接: https://www.wechatadd.com/artdet/8921
- 上一篇:微信公众平台常用接口-自动回复消息
- 下一篇:微信公众平台常用接口-自定义菜单
阅读推荐
更多...- 互联网_移动互联网企业如何利用微信赚钱,2B2C网站如何利用微信赚钱 2023-07-09
- 微视频营销的策略 2023-07-16
- 微信的商业价值与商业模式,3微信摇一摇 2023-07-09
- 亚瑟:锻造销售「流程力」!打造品牌形象,获得更多的忠实客户 2023-05-20
- 小红书运营第四步:解密 UGC,留住「天使用户」 2022-06-28
- 达成协议的信号有哪些?为您的生意带来巨大成功 2023-05-21
- 如何根据客户性格,调整沟通方式?实现您的梦想和目标,获得成功和财富 2023-05-19
- 接近客户合适的就是最好的,提升销售业绩 2023-03-13
- 不同客户究竟应该怎样区别对待,看这一篇就够了——销售技巧 2023-03-04
- 高校大学生创新创业基地的模式 2023-08-23
- 我玩「微信」 2023-07-14
- 微信公众账号的商业模式解读,公众账号的3种商业模式 2023-07-03
- 微信的两大核心:朋友圈与公众平台 2023-07-13
- 成交话术:用对话术技巧,犹豫不决的客户一样能成交 2022-07-09
- (淘宝seo排名优化的方法之)搜索优化,提升店铺和产品排名 2023-01-24
- 京东公司的发展之道 2024-02-12
- 微信营销活动的策划,做产品促销的原因及要素 2023-07-03
- 如何加精准潜在用户 2023-07-13