微信开发之关注自动回复

微信开发模式下关注自动回复官方给出的说明是:

推送XML数据包示例:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
</xml>

参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)

所以我们可以先获取MsgType,判断是否为event消息类型,如果是则获取Event,关于关注与取消关注的Event分别对应subscribe和unsubscribe,所以接下来判断Event类型是否为subscribe;如果是则发送消息:

事例代码:

public function responseMsg()
    {
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
      //extract post data
if (!empty($postStr)){
              $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
$msgType = $postObj->MsgType;
$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>";     
switch($msgType)
{
case "event":
$msgEvent=$postObj->Event;
//订阅自动回复
if($msgEvent=="subscribe")
{
$msgType = "text";
$contentStr = "欢迎你!";
$resultStr = sprintf(
$textTpl, 
$fromUsername, 
$toUsername, 
$time, 
$msgType, 
$contentStr);
echo $resultStr;
}
break;
case "text":
$keyword = trim($postObj->Content);
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf(
$textTpl, 
$fromUsername, 
$toUsername, 
$time, 
$msgType, 
$contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
break;
}
        }else {
        echo "";
        exit;
        }
    }

时间: 2024-08-07 04:31:19

微信开发之关注自动回复的相关文章

记微信开发(关注回复)

记微信开发(关注回复) 在刚才增加的关键词回复代码上面添加代码: $ev = $postObj->Event; if ($ev = "subscribe") { $msgType = "text"; $contentStr = "感谢您的关注!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $r

微信开发关注回复 oauth2(1)

服务器配置 第一步:服务器选择: 我选的是新浪的 http://sae.sina.com.cn/ ,具体如何配置就不用细说了,就相当于租用一台服务器一样 第二步:上传代码:共三个件,分别是index.php,oauth2.php,redirectUri.php index.php 代码如下: <?php /** 微信公众平台 */ define("TOKEN", "weixin");//与管理平台的TOKEN设置一致 $wechatObj = new wech

微信开发-点击链接自动添加关注

这个功能和微信提供的接口无关,只牵扯到微信的图文消息的另一种应用. 1.登录进入需要被关注的微信公众号,进入管理->素材管理,新增一条单图文消息,标题为点击下方链接关注XXX,图片可以是一张白色的图片,正文可以是此微信公众号的一些简介. 2.保存后回到图文消息列表,打开刚才保存的图文消息,复制打开窗口的URL地址,这个地址就是在微信上点击以后跳转到图文消息,在图文消息第二行有一行蓝色字,点击就会弹出关注提示 微信开发-点击链接自动添加关注,布布扣,bubuko.com

[.NET] 简单接入微信公众号开发:实现自动回复

简单接入微信公众号开发:实现自动回复 一.前提 先申请微信公众号的授权,找到或配置几个关键的信息(开发者ID.开发者密码.IP白名单.令牌和消息加解密密钥等). 二.基本配置信息解读 开发者ID:固定的: 开发者密码:自己扫一下就可以看到: IP白名单:设置自己配置服务器的地址: 服务器地址(URL):稍后详解: 令牌:随便写,按规则: 消息加解密密钥:随便写,或者随机生成: 三.配置服务器地址(URL) 服务器地址(URL)应该怎么配置呢?图片上的配置的地址是:http://www.nidie

微信开发学习路线

凭借大量活跃用户,微信已成为商家重要营销平台之一.商家为庞大用户群提供定制化服务的迫切需求,吸引了大量开发者/开发商投入到微信公众平台开发中.学习和掌握微信公众平台开发技术,已成为开发者淘金的另一重要选择. 在CSDN站内,拥有大量与微信开发相关的资源,包括技术博客.问题讨论.工具资源等.CSDN邀请多位微信开发专家对这些资源取其精华,按照微信开发的学习路线展示站内优质资源,从基础入门到高级开发,帮你全面掌握微信开发. 这里,我们为您推出的是微信开发的基础入门及高级进阶部分. 基础入门 认识微信

合并_g2014___09微信开发合并

价值万元的微信教程一 目录 价值万元的微信教程一????1 一.简介????2 二.为什么要学习微信开发课程????2 三.微信与微信公众平台的区别????2 四.什么是微信公众平台????2 五.前期准备????3 六.微信的两种运营模式????3 1.编辑模式????3 七.开发者模式????5 1)微信验证接口下载????7 2)微信验证接口分析????7 3)微信响应接口????8 4)微信的6大接收接口????9 1) 文本消息????9 2)图片消息????10 3)语音消息????

Java企业微信开发_09_身份验证之移动端网页授权(有完整项目源码)

注: 源码已上传github: https://github.com/shirayner/WeiXin_QiYe_Demo 一.本节要点 1.1 授权回调域(可信域名) 在开始使用网页授权之前,需要先设置一下授权回调域.这里瞬间想到之前做JSSDK的时候,也设置过一个域名.二者本质上都是设置可信域名. 当用户授权完毕之后,请求将重定向到此域名(或者子域名)下的执行者(jsp页面或者servlet等).如何设置授权回调域,请见第二节. 1.2 获取Code https://open.weixin.

夺命雷公狗---微信开发23----客服消息接口基础和推送文本

我们这边课程里面一共用到了三个文件,分别是WeChat.class.php和common.php以及index.php 我们在写这个功能之前也要学会查手册,手册我们可以在微信开发这里找到,如下所示: 点击进去后我们将会看到客服接口,我们可以点击下进去看看里面有什么动动 这里有一个发送文本消息的,我们点击进去看下 这里很明显就看到文本消息是通过一个json数据来进行实现的,废话不多说,开工 这里我们先来写一个WeChat.php的文件,这里作用主要适用于封装一个CURL上传类的,代码如下所示: <

微信开发之如何使用开发工具--weixin-java-tools

一.前沿 微信公众平台由于没有提供针对语言的开发包,只公布了一个基于Http协议的接口和加解密的算法sdk,这样给微信公众号的开发者带来很多工作量,除了实现业务逻辑外,还需要自己处理底层的接口协议细节,因此选择一个良好的sdk能够节省这样的工作量,而目前已经有不少的开源sdk可供使用,java语言的微信公众号sdk也有不少,那么作为java开发者我们应该如何选择呢?我将带着各位对java开源的一些微信公众号的sdk进行各方面的对比分析,为读者选择适合自己的sdk包提供一些帮助. 二.为什么要用w